はじめに
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回の判定で複数の曜日(今回は土日)に合致するかどうかを判定できる。