スポンサーリンク

Excel

Excel(エクセル)のIF関数で時間の比較ができないときの原因と解決方法

Excelで時間の比較をIF関数を使用して行おうとしたら、正しく比較することができなくて困ったことはありませんか?

そんな場合どのようにすれば比較できるようになるか解説します。

以下の図のような表で、9時を超えたら遅刻と表示するようにIF関数を使用します。

その場合、

=IF(B3>"9:00","遅刻","")

という数式を入れてみたところ正しく比較されず遅刻と表示されません。

9時を過ぎているのに遅刻と表示されない
9時を過ぎているのに遅刻と表示されない

この数式で正しく比較できなかった原因は、数式の中で"9:00"と入力しているため、Excelは"9:00"を文字列と扱ってしまったため正しく計算することができませんでした。

これを正しく比較できるようにする方法は、2つありますのでそれぞれ紹介します。

「1」を掛けてシリアル値にする

Excelでは、時刻はシリアル値で計算を行っています。

先ほどの"9:00"をシリアル値にするには、1を掛けてあげればシリアル値になり正しく計算できるようになります。

具体的には先ほどの数式を、

=IF(B3>"9:00"*1,"遅刻","")

のように「"9:00"*1」と修正すれば正しく比較されるようになります。

時間に「1」を掛ける
時間に「1」を掛ける

数式を修正しオートフィルで反映したら正しく計算されるようになりました。

正しく表示されるようになった
正しく表示されるようになった

TIME関数を使用する

もう一つの方法として、TIME関数を使用する方法も紹介します。

注意点として、TIME関数は24時間以上の時間は使えないで注意

先ほどの数式をTIME関数を使用して以下のように修正しても計算することができます。

=IF(B3>TIME(9,0,0),"遅刻","")

TIME関数の書式は、

=TIME( 時 , 分 , 秒 )

になります。

TIME関数を使用して時刻を指定
TIME関数を使用して時刻を指定

数式を修正しオートフィルで反映したら正しく計算されるようになりました。

TIME関数を使用しても計算できる
TIME関数を使用しても計算できる

まとめ

Excelは時刻をシリアル値で計算しています。セルに時刻を入力した場合は自動的にシリアル値になりますが、数式で時刻を入力する場合はシリアル値にしてあげる必要がありますのでご注意ください。

Excelの記事一覧へ

Excel初心者の方で他にも困っていることがある、Excelを基礎から習いたいという方の為に東村山市のパソコン教室キュリオステーション久米川店では初心者向けのExcel講座を開講しております。ご興味がありましたらお気軽にお問い合わせください。

講座紹介

スポンサーリンク

-Excel
-, ,