- ベストアンサー
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以降終了時刻までの時間 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>"22:00" これは文字列で、時間はシリアル値なので思いどおりに計算されないのでしょう。 "22:00" を 22/24 とかTIMEVALUE("22:00") に変更してみては?
その他の回答 (1)
- grumpy_the_dwarf
- ベストアンサー率48% (1628/3337)
回答No.2
=if(C2<="22:00", これは文字列と比較しているのであって、時刻ではありませんね。 こういうときによく使うのが、=if(C2<="22:00"*1,と無意味に四則 演算をかます手口です。これをやるとExcelはいつもの余計なお世 話機能で文字列"22:00"を時刻とみなします。D2のFASLEの場合の式 が成り立つのと同じ理屈ですね。timevalue関数よりシンプルに書 けるので重宝しますよ。
お礼
早速の回答ありがとうございます。 うまくいきました。 私の式でも計算できる場合もあるものですから、迷ってしまいました。 今後ともご指導よろしく。お願いします