いきなり答える備忘録

Google Workspace(旧G Suite)・Microsoft 365・LibreOfficeなどに関するメモ

(Gスプレッドシート)正しい日付かどうか判定する関数(ISDATE関数)

 Googleスプレッドシートで、入力されている値が正しい日付かどうかを判定するISDATE関数についてです。

  • ISDATE関数により、値が日付かどうかを判定することができます。
  • テキストとして入力されている場合でも日付とみなせるものであればTRUEと判定します。ただのシリアル値(数値)は日付とみなされずFALSEとなります。

手順

f:id:accs2014:20210406182656p:plain:right:w500

 B列にいくつかの値が入力されています。
 これに対しD3セルに「=ISDATE(C3)」と入力し、下方にコピーしています。
 見た目が正しい日付になっているものに対してはTRUEが返されているのがわかります。
 一方、C3セルに入力されている「44285」と数値いう数値は2021年3月30日に対応するシリアル値なのですが、これに対してはFALSEが返されています。また、C6セルの「2021/3/32」という、ありえない日付に対してもFALSEが返されていることがわかります。
 このように、ISDATE関数は(見た目的に)正しい日付に対してTRUEを返します。「44285」といったシリアル値は、DAY関数など多くの関数では日付としてみなされますが、こうした値に対してはFALSEを返します。
 ちなみに「2021-3-31」など一定の書式に対してもTRUEを返します。

 

f:id:accs2014:20210406182701p:plain:right:w600

 こちらの画像は、それぞれの値をISDATE関数だけでなく、ISNUMBER関数やISTEXT関数で評価した結果です。
 それぞれの評価の特徴が分かる結果となっています。