Kato Ryo Official Site

抽象度とエネルギーを上げる

【Excel】関数内での日付の比較の仕方

 
この記事を書いている人 - WRITER -
Pocket

Excelのあるセルに日付が入力されていて、それが別の日付と一致しているか確認したい場合のやり方について。

二つのセルに日付が入っていて、それを比較するのは簡単だが(※)、if式などの関数式で一致確認等を行うには、一手間加えなければならない(というほど大げさなものではないが)。

(※例えばB2セルとB3セルに入っている日付が一致しているか確認したい場合は「=B2=B3」で TRUE または FALSE が示される)

 

例えば、以下のようにセルB2に入っている日付が「2017/1/23」であるか調べたい場合は、次のような式で確認できる。

=IF(B2=DATEVALUE(“2017/1/23″),”一致”,”不一致”)  …①

この場合、一致しているならば、「一致」と表示され、不一致なら「不一致」と表示される(ってか、式そのまんまやねw)。

 

ポイントはDATEVALUE関数を使うところ。
if文中の ”2017/1/23” は、そのままでは日付ではなく文字列として認識される。そのため、DATEVALUE関数を使わずに、「=IF(B2=”2017/1/23″,”一致”,”不一致”) とすると、B2のセルが「2017/1/23」でも、不一致と判断されてしまう(日付の「2017/1/23」と文字列の「2017/1/23」は別物として認識される)。

この関数を使うことで、文字列 ”2017/1/23” が日付(のシリアル値)に変換されるので、B2セルに入っている日付と比較ができ、この場合「一致」と表示される。(なお、等号(=)以外に、不等号 ( <, >, <=, >= ) も使用できる。)

 

日付の比較には他にDATE関数を使うやり方もある。

例えば ①式をDATE関数で書くと、「=IF(B2=DATE(2017,1,23),”一致”,”不一致”) 」と書けるが、個人的にはDATEVALUE関数を使う方が、日付を「yyyy/mm/dd」という形式でそのまま使えるので、しっくりくるところはある。

この記事を書いている人 - WRITER -

- Comments -

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Copyright© 抽象度とエネルギーを上げる , 2017 All Rights Reserved.