• ベストアンサー

Excel 関数の引数で時刻を使いたい

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以降終了時刻までの時間 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • popuplt
  • ベストアンサー率38% (31/81)
回答No.1

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

gyouda1114
質問者

お礼

早速の回答ありがとうございます。 うまくいきました。 私の式でも計算できる場合もあるものですから、迷ってしまいました。 今後ともご指導よろしく。お願いします

その他の回答 (1)

回答No.2

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