もう悩まない!エクセルif関数での日付比較方法まとめ

公開日: 条件分岐

業務を行っていると、ある日付とある日付のどちらが過去の日付か(あるいは未来の日付か)を判定したい場合があります。

エクセルでは、日付データについては、「過去の日付」のほうが「小さい数値」として取り扱われます。

そのため、日付同士を「不等号」で比較することで過去日付(未来日付)かどうかの判定ができます。

ところが、「日付」の入力方法が結構ややこしいので、if関数で日付の比較をしようとしても、なかなかうまく比較できないケースが多いのです。

そこで、このページでは、エクセルのif関数で日付を比較する際の入力方法をまとめました。

日付を比較する方法まとめ

比較したい日付がセルに入力されている場合

標準書式(あるいは日付書式)に設定している状態で、通常通り日付の入力をすればOKです。

例えば、比較したい2つの日付が、両方ともセルに入力済の場合、if関数で、その2つのセルを参照する計算式を入力すれば日付の比較ができます。

hidukehikaku_1_1

比較したい日付を計算式で指定したい場合

例えば、A1セルに入っている日付と「2016/6/1」とを比較したいという場合。

次のように、単に、計算式の中で日付を指定しただけでは正しい比較はできません。

誤:=if(A1 > 2016/6/1, “A1セルが過去”, “A1セルが未来”)

そうではなく、次のようにdate関数を使って日付を指定します。

正:=if(A1 > date(2016,6,1), “A1セルが過去”, “A1セルが未来”)

実際にエクセルで入力すると、次のようになります。

hidukehikaku_1_2

日付の入力方法まとめ

まとめると、日付を比較する場合には、次のように入力すればOKということです。

セルに入力されている日付

(セルの書式を通常あるいは日付にしたうえで)通常通り入力する

計算式で直接指定する日付

date関数を使って日付を指定する

エクセルでの日付の管理方法

さて、なぜ、上で説明したように入力しないといけないのか?

その理由を考えてみたいと思います。

エクセルでは、セルに日付を入力した場合、自動的に対応する数値に置き換えられて記録されています。

例えば、

日付   シリアル値
2016年2月28日 42428
2016年2月29日 42429
2016年3月1日 42430
2016年3月2日 42431

という感じです。

イメージとしては、直線上に日付を1列に並べたものを思い浮かべてもらえるとわかりやすいのではないかと思います。

serial_1

この対応する数値は「シリアル値」と呼ばれています。

例えば、次のようにA1セルに「2016/2/29」と入力した場合。

エクセル内部では、自動的に「42429」という数値に変換されて記録されています。

hidukehikaku_1_3

→詳細解説はこちらからどうぞエクセルのシリアル値とは?

エクセルは日付の比較はどうしているか?

日付の比較をするときには、エクセル内部では、先ほど書いた「シリアル値」の大小比較をしています。

「シリアル値」は単なる数値ですから何も考えずに大小比較ができます。

hidukehikaku_1_4

この例であれば、シリアル値で比較すれば「42491<42522」です。

ですからif関数の条件式「A1セル<B1セル」は成り立っているものとして取り扱われ「A1セルが過去」と表示されるわけです。

計算式中に単に日付を入力してはダメな理由

それでは、なぜ、エクセルの計算式中に単に日付を入力したらダメなのでしょうか?

実は、計算式中で、単に「2016/6/1」と入力してしまうと、エクセルは「2016÷6÷1」という「割り算の計算式」だと認識してしまうのです。

条件式を見てみると、

  • A1セルのシリアル値は「42491」。
  • 「2016÷6÷1」=「336」。

結局「A1セル(=42491)336(=2016÷6÷1)」と判定されてしまい、本来欲しい結果と逆の結果になってしまうのです。

hidukehikaku_1_5

計算式中では、直接「シリアル値」を入れないいけない

セルに入力する場合と違って、計算式中では自動的に「シリアル値」に変換してくれるような便利機能はありません。

ですから、関数や計算式を駆使して自力で「シリアル値」を作り出さないといけないのです。

その方法の1つが冒頭で紹介した「date関数」を使う方法です。
次のような形式でdate関数を使うと、指定した年月日に対応する「シリアル値」が得られます。

=date(「年」,「月」,「日」) → シリアル値が得られる

このようにして、シリアル値を作り出したうえで、日付の比較をすることで、正しい比較ができるのです。


  • twitter
  • facebook
  • はてなブックマーク

経理事務のためのエクセル基礎講座動画マニュアル無料配布中

「経理事務のためのエクセル基礎講座(初級編)」(動画マニュアル 総収録時間162分)を無料プレゼント中です!

このマニュアルで解説していることを一通り学べば、経理事務を行う上で最低限必要となる知識が得られます。

ご登録者の方には、合わせて、公認会計士が実体験を通して身に付けたエクセルを使う技をメールにてお伝えしていきます!