# whereで日付を条件指定するには
whereで日付を指定しようと以下のように書いたら正しく機能しなかった…
=query(範囲, "select A where A = 2019/08/01")
*エラーは起こさなかった
# 日付の指定方法
条件の前にdate
をつければOK
上記の例をもとにすると、
=query(範囲, "select A where A = date 2019/08/01")
とすれば正しく機能する。
# 応用編~日付を変数にする~
実際に使う場合には、変更を加えたり汎用性を高めるためにも、条件は変数を使うことが多い
単純に日付を変数に置き換えるだけでは、機能しない。
変数を使う場合には以下のように書く必要がある。
=query("範囲", "select A where A = date '"& text(参照セル,"YYY-MM-DD") &"'")
'"& text(参照セル,"YYY-MM-DD") &"'"
ようは、text関数を使って、日付形式に変更しているだけのことである。
これで日付を変数に変えることができる。
応用編~年・月・日だけを条件指定する~
次は○○年を条件にしたいなど、年月日の一部を条件にする方法について
- 年だけを指定
=QUERY(範囲,"where YEAR(列) = "& text(参照セル,"YYYY") &"")
- 月だけを指定
=QUERY(範囲,"where MONTH(列) +1 = "& text(参照セル,"MM") &"")
月は1月が0からスタートするため、+1をする必要がある
- 日だけを指定する
=QUERY(範囲,"where DAY(列) = "& text(参照セル,"DD") &"")