Excel関数 逆引き集 | 曜日番号を取得 → WEEKDAY

Excel
スポンサーリンク

概要

Excelで「日付の曜日番号」を取り出すには、WEEKDAY関数を使います。曜日を数字で返すので、勤務表の判定(平日/週末)や、曜日別集計、条件分岐に便利です。返し方(どの曜日を1にするか)は第2引数で自由に選べます。


基本の使い方

書式

=WEEKDAY(日付, [返し方])
  • 日付:日付のセル参照やシリアル値、DATE/TODAYなど
  • 返し方(省略可):曜日番号の定義を選ぶ(下記参照)

返し方の種類(よく使う3種)

=WEEKDAY(A2)      // 省略=1:日=1, 月=2, …, 土=7
=WEEKDAY(A2,2)    // 2:月=1, 火=2, …, 日=7(週の始まりを月に)
=WEEKDAY(A2,3)    // 3:月=0, 火=1, …, 日=6(0始まり)

拡張オプション(11~17)

=WEEKDAY(A2,11)   // 月=1 … 日=7
=WEEKDAY(A2,12)   // 火=1 … 月=7
...
=WEEKDAY(A2,17)   // 日=1 … 土=7

週の“開始曜日”を細かく指定したいときに使います。


具体例

セル参照で曜日番号を取得

=WEEKDAY(A2)  // A2が 2025/12/17(水)なら「4」

月曜始まりの番号にしたい(業務で使いやすい)

=WEEKDAY(B2,2)  // 月=1, …, 日=7

0始まりで扱いたい(配列やインデックスに便利)

=WEEKDAY(C2,3)  // 月=0, …, 日=6

TODAYと組み合わせて今日の曜日番号

=WEEKDAY(TODAY(),2)  // 今日の曜日を「月=1」基準で

応用テンプレート

曜日名に変換(番号→日本語)

=CHOOSE(WEEKDAY(A2,2),"月","火","水","木","金","土","日")

番号を「月〜日」にマッピングして表示します。

平日/週末の判定(日本の業務基準)

=IF(WEEKDAY(A2,2)<=5,"平日","週末")

月〜金は「平日」、土・日は「週末」と判定。

曜日ごとの集計(動的配列対応の簡易例)

=SUMIF(WEEKDAY(B2:B100,2),1,C2:C100)   // 月曜の合計

「B列の日付が月曜の行」のC列を合計します。

週の開始曜日を自由に設定(11〜17)

=CHOOSE(WEEKDAY(A2,11),"月","火","水","木","金","土","日")

「11」を使えば“月曜始まり”を前提に曜日名へ。


よくあるつまずきと対策

表示が数字で分かりづらい

番号のままだと直観的でないので、CHOOSEやINDEXで「月〜日」に置き換えると読みやすくなります。

返し方の違いで判定がズレる

第2引数の設定によって曜日番号が変わります。平日/週末判定などは「2(月=1)」で統一すると運用が安定します。

文字列日付だと意図通りにならない

「YYYY/MM/DD」が文字列扱いだと正しく判定できないことがあります。DATEで日付を生成、またはセルの表示形式を日付に設定しておきましょう。


例題

問題1: A2の日付の曜日番号をB2に表示してください(標準の返し方:日=1〜土=7)。

=WEEKDAY(A2)

問題2: C2の日付を「月=1〜日=7」で番号化してD2に表示してください。

=WEEKDAY(C2,2)

問題3: E2の日付の曜日を日本語でF2に表示してください(「月〜日」)。

=CHOOSE(WEEKDAY(E2,2),"月","火","水","木","金","土","日")

問題4: G2の日付が平日なら「平日」、週末なら「週末」とH2に表示してください。

=IF(WEEKDAY(G2,2)<=5,"平日","週末")

問題5: 今日の曜日を0始まり(月=0〜日=6)でI2に表示してください。

=WEEKDAY(TODAY(),3)

まとめ

WEEKDAYは「曜日を番号で返す」ための基礎関数です。第2引数で週の開始や番号体系を決め、CHOOSEと組み合わせれば“番号→曜日名”の変換も簡単。平日/週末判定、曜日別集計などで威力を発揮します。まずは「返し方を2(月=1)」に統一して運用すると、現場では扱いやすくなります。

タイトルとURLをコピーしました