WEEKDAY関数の使い方|曜日を数字で出す・土日を判定する
※写真はイメージです
書き方はこれだけ
=WEEKDAY(日付, 2)WEEKDAYは、日付から曜日を数字で返す関数です。「月」「火」のような文字ではなく、1〜7の数字で返ってくるのがポイントで、土日だけ色を付ける、平日かどうかで分けるといった判定に使います。2つ目は 2 にしておくのがいちばん分かりやすいと思います。月曜が1、日曜が7になるので、「6以上なら土日」で判定できます。
=WEEKDAY(A2,2)>=6 がTRUEなら土日です。この図の表をExcelファイルでダウンロード(問題と答えのシートつき)
2つ目(種類)で、数字の振り方が変わる
| 種類 | 日 | 月 | 火 | 水 | 木 | 金 | 土 |
|---|---|---|---|---|---|---|---|
| 1(省略したとき) | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 2 | 7 | 1 | 2 | 3 | 4 | 5 | 6 |
| 3 | 6 | 0 | 1 | 2 | 3 | 4 | 5 |
省略すると日曜が1、土曜が7です。この形だと土日が「1と7」に分かれるので、判定の式が少し長くなります。なので、仕事の表では2にしておくのがいいと思います。ほかに11〜17の種類もあって、どの曜日を1にするかを選べます。
曜日を「月」「月曜日」のような文字で出したいだけなら、WEEKDAYではなく =TEXT(A2,"aaa") です。そっちは曜日のページにまとめています。
よく使う例
| やりたいこと | 式 |
|---|---|
| 平日か土日か | =IF(WEEKDAY(A2,2)>=6,"土日","平日") |
| 土曜は青・日曜は赤(条件付き書式) | 土曜:=WEEKDAY($A2)=7 日曜:=WEEKDAY($A2)=1 |
| その週の月曜日の日付 | =A2-WEEKDAY(A2,3) |
| 次の月曜日の日付 | =A2-WEEKDAY(A2,3)+7 |
| 範囲の中の土日の数 | =SUMPRODUCT(--(WEEKDAY(A2:A31,2)>=6)) |
祝日まで含めて「営業日かどうか」を判定したいなら、WEEKDAYだけでは足りません。祝日の一覧を作って、NETWORKDAYSやWORKDAYを使うほうが確実です。
土日の行に色を付ける
- 色を付けたい表の範囲を選ぶ日付がA列なら、A2から表の右下までを選びます。
- 「ホーム」→「条件付き書式」→「新しいルール」→「数式を使用して、書式設定するセルを決定」
- 数式に
=WEEKDAY($A2,2)>=6、「書式」で塗りつぶしの色を選んで「OK」$A2の $ を列にだけ付けるのがコツです。こうすると、行全体に色が付きます。
うまくいかないとき
1#VALUE! になる
日付が「11月13日」のような文字で入っていて、Excelが日付として読めていません。
直し方日付を「2026/11/13」の形で入れ直します。
2全部同じ曜日になる
=WEEKDAY(A2)7空欄は「1900年1月0日」とみなされて、土曜(7)になります。
直し方=IF(A2="","",WEEKDAY(A2,2)) のように、空欄なら空欄にします。
3曜日が1つずれる
種類を省略していて、日曜が1になっています。
直し方2つ目に 2 を入れて、月曜を1にします。
サンプルファイルで試す
黄色のセルにWEEKDAYの式を入れて、「答え」のシートと比べてください。
よくある質問
WEEKDAY関数とは?
日付から曜日を1〜7の数字で返す関数です。=WEEKDAY(日付,2) とすると、月曜が1、日曜が7になります。
WEEKDAYの種類1と2の違いは?
1(省略したとき)は日曜が1・土曜が7、2は月曜が1・日曜が7です。土日の判定は2のほうが簡単です。
土日かどうかを判定するには?
=IF(WEEKDAY(A2,2)>=6,"土日","平日") で判定できます。
曜日を「月」のような文字で出すには?
WEEKDAYではなく、=TEXT(A2,"aaa") を使います。
一緒に覚えたい関数・操作
このページについて
操作の説明は Microsoft 365 の日本語版Excel(Windows)に合わせています。図はこのサイトで作ったもので、表の会社名・商品名・人名は架空です。運営者情報