はじめに
Excelなどで日付から曜日を判定したいときは、WEEKDAY関数を使用する。
WEEKDAY(シリアル値,[週の基準])
第1引数に日付、省略可能な第2引数には週の基準となる予め決められた整数を指定する。
第2引数を省略した場合は、日付に応じて以下の値が返される。
曜日 | 値 |
---|---|
日曜日 | 1 |
月曜日 | 2 |
火曜日 | 3 |
水曜日 | 4 |
木曜日 | 5 |
金曜日 | 6 |
土曜日 | 7 |
私は第2引数の用途を長らく理解していなかったが、最近ある処理を考えたときに、第2引数を上手く使うと簡潔に書けることがわかった。
土日を判定する処理
例として、A1
セルに日付が入っているものとする。
愚直にやる場合
=OR( WEEKDAY(A1) = 7, WEEKDAY(A1) =1 )
上記の表によると、土曜日は7
・日曜日は1
となる。
そのため上記のように、2回WEEKDAY関数を使用してOR関数で判定する。
第2引数を上手く使った場合
=( WEEKDAY(A1, 2) >= 6 )
第2引数に2
を指定すると、返される値が以下の表のように変化する。
曜日 | 値 |
---|---|
月曜日 | 1 |
火曜日 | 2 |
水曜日 | 3 |
木曜日 | 4 |
金曜日 | 5 |
土曜日 | 6 |
日曜日 | 7 |
この時、土曜日は6
・日曜日は7
となり、連続する値になる。
結果として、○○以上という1回の判定で複数の曜日(今回は土日)に合致するかどうかを判定できる。