プロが教えるわが家の防犯対策術!

a1に=now()関数が入っており、どこかのセルに変更があったら時刻が更新されています。

9:00~17:00の間ならa2セルに営業時間内、それ以外なら営業時間外と表示させたいのですが、どのようにすればいいでしょうか?

また、これの応用で曜日ごとに時間内、時間外表示をかえるにはどうすればいいでしょうか?
例)平日は9:00~17:00 日は9:00~16:00

A 回答 (3件)

=IF(WEEKDAY(A1,1)=1,IF(AND(HOUR(A1)>=9,HOUR(A1)<16),"営業中","時間外"),IF(AND(HOUR(A1)>=8,HOUR(A1)<17),"営業中","時間外"))




No1の回答者さんのおっしゃるとおり、
実用的かどうかは別として、質問者が求めているのは
上記のような式です。
    • good
    • 0
この回答へのお礼

できました。ありがとうございます。

お礼日時:2007/12/29 16:30

まぁ、きっとアレだ。

仕事中に時々A2を見て、営業時間外と表示さ
れたら仕事をヤメて帰るんだ。時計を見ただけじゃ判んないんだ。

で、本題。
="営業時間"&if(and(hour(A1)>=9, hour(A1)<(if(weekday(A1,1)=1,16,17))),"内","外")

終業時刻が曜日によっていろいろな場合、if(weekday(A1,1)=1,16,17)
の部分をchoose(weekday(A1,1),16,17,17,18,17,19,16)のようにす
るとよい。始業時刻も同じ。
    • good
    • 1
この回答へのお礼

笑ってしまいました。

そういう使い方もしてみます。
本来は、Excelシートに問い合わせ先の一覧が載ってて、
そちらの電話番号を案内する際に、営業終了しているか
どうか確認できるようにしたかったのです。
部署によって開始/終了時間が様々でみんなよく間違えちゃう
から・・・。
曜日によって違う場合も参考になりました。ありがとうございました。

お礼日時:2007/12/29 16:34

質問ではしたいことと、方法論のNOW関数を使ってと指定までしてますが、NOW関数を調べてみましたか。

十分調べてもしないで、誤った方法(というよりできない方法)まで指定するとは。
NOW()関数ではできません。NOW関数の結果の値が、時刻の経過によってどんどん変わっていくことは、エクセルを少しやったものには常識です。
時刻を直接入力、CTRL+;かCTRL+:や式を消すための自身のセルに値複写、VBAなどを考えないとなりません。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!