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

Excel2007です。
時間の計算をしたいのですがIF関数の引数に22:00等を使う方法を教えて下さい
次のようにすると22時までは計算されるのですが22時以降が計算されません。引数の時間の使い方が間違っているような気がするのですが、時刻を引数として使う方法を教えて下さい。

A1に日付 
B2に開始時刻 =IF(WEEKDAY(A2)=7,"8:00","17:30")
土曜日は、8:00 月曜から金曜は、17時 日曜日は、入力しない 
C2に終了時刻  手入力 例えば23:00
D2に =IF(C2<="22:00",C2-B2,"22:00"-B2)
 開始時刻から22:00時までの時間
E2に =IF(C2>"22:00",C2-"22:00",0)
 22:00以降終了時刻までの時間

よろしくお願いします。

「Excel 関数の引数で時刻を使いたい」の質問画像

A 回答 (2件)

>"22:00"


これは文字列で、時間はシリアル値なので思いどおりに計算されないのでしょう。
"22:00" を 22/24 とかTIMEVALUE("22:00") に変更してみては?
    • good
    • 1
この回答へのお礼

早速の回答ありがとうございます。

うまくいきました。

私の式でも計算できる場合もあるものですから、迷ってしまいました。

今後ともご指導よろしく。お願いします

お礼日時:2009/03/29 08:48

=if(C2<="22:00",


これは文字列と比較しているのであって、時刻ではありませんね。
こういうときによく使うのが、=if(C2<="22:00"*1,と無意味に四則
演算をかます手口です。これをやるとExcelはいつもの余計なお世
話機能で文字列"22:00"を時刻とみなします。D2のFASLEの場合の式
が成り立つのと同じ理屈ですね。timevalue関数よりシンプルに書
けるので重宝しますよ。
    • good
    • 0

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