Excel WEEKDAY関数の完全ガイド|日付から曜日を数値で取得する方法と応用例

Excelを使ってスケジュール管理や勤怠表、売上集計などを行っていると、「日付から曜日を判定したい」と思ったことはありませんか?
そんな時に便利なのが「WEEKDAY関数」です。
WEEKDAY関数を使えば、日付に対応する曜日を簡単に数値で取得できます。
この記事では、WEEKDAY関数の基本的な使い方から、応用的な使い方、さらには曜日を日本語で表示させる方法まで、初心者にもわかりやすく解説します。


WEEKDAY関数とは?

WEEKDAY関数は、Excelで日付を入力したセルに対して「その日が週の何日目か(数値)」を返す関数です。
たとえば、2025年5月17日は「土曜日」ですが、WEEKDAY関数を使えばこの日が週の何番目なのか、数値で確認できます。

構文

WEEKDAY(シリアル値, [種類])
  • シリアル値:対象の日付。日付形式で入力されたセルを指定します。
  • [種類]:任意の引数で、返される数値の開始曜日を指定します(省略可能)。

WEEKDAY関数の「種類」の違いと使い分け

WEEKDAY関数で重要なのが、2つ目の引数である「種類」です。
この種類によって、何曜日を「1」とするかが変わります。以下に種類とその意味をまとめます。

種類数値の意味曜日開始
1日曜=1、月曜=2、…土曜=7日曜日始まり(デフォルト)
2月曜=1、火曜=2、…日曜=7月曜日始まり
3月曜=0、火曜=1、…日曜=6月曜日始まり(0から開始)

実際の使用例

  • =WEEKDAY("2025/5/17") → 結果は 7(土曜日。日曜始まりのパターン)
  • =WEEKDAY("2025/5/17", 2) → 結果は 6(土曜日。月曜始まりで1から)
  • =WEEKDAY("2025/5/17", 3) → 結果は 5(土曜日。月曜始まりで0から)

実務でよくあるWEEKDAY関数の使い方例

WEEKDAY関数は実務でも非常に使い道が多く、以下のようなケースで活用されています。

勤怠表で「土日」を色分けする

従業員の勤務表で、土日を自動的に色分けしたい場合に、WEEKDAY関数が役立ちます。

  1. 各行に日付を入力
  2. 隣の列で =WEEKDAY(A2,2) と入力(A2は日付セル)
  3. 返り値が「6(土曜)」または「7(日曜)」である場合に色付け(条件付き書式)

日付から日本語の曜日を表示する

WEEKDAY関数単体では数値しか返しませんが、CHOOSE関数TEXT関数 を組み合わせれば日本語の曜日表示も可能です。

CHOOSE関数を使う方法

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

TEXT関数を使う方法

=TEXT(A2, "aaa")   → 「土」など
=TEXT(A2, "aaaa") → 「土曜日」など

WEEKDAY関数と組み合わせて使える関数

IF関数との組み合わせ

「土日だけ別の処理をしたい」といった条件分岐に役立ちます。

=IF(WEEKDAY(A2,2)>5, "休日", "平日")

この式では、週末(土曜=6、日曜=7)であれば「休日」と表示されます。

NETWORKDAYS関数との違い

  • WEEKDAY:単一の日付の曜日を数値で返す
  • NETWORKDAYS:土日・祝日を除いた営業日数を計算する

用途が似ているようでまったく違うので、注意が必要です。


WEEKDAY関数の注意点とトラブル対策

エラーになる場合

  • 引数に文字列で無効な日付を指定している
  • =WEEKDAY("abc")#VALUE!

対策

  • 日付形式のセルを参照する
  • 文字列の場合は DATE関数 で変換する:
=DATE(2025,5,17)

WEEKDAY関数を活用した便利なフォーマット例

1. カレンダー表の自動曜日表示

Excelで月間カレンダーを作成する際、以下の式を使えば自動的に曜日を表示できます。

=TEXT(A2,"aaa") & "曜日"

2. 毎週特定の曜日に処理をしたいとき

WEEKDAY関数を使えば、「毎週月曜日だけ処理する」ようなロジックを簡単に組み立てられます。

=IF(WEEKDAY(A2,2)=1,"週次会議","")

VBAでの応用:WEEKDAYをコードで使う方法

Excel VBAでもWeekday関数は利用可能です。

Sub CheckWeekday()
Dim dt As Date
dt = Range("A1").Value
MsgBox "曜日番号は " & Weekday(dt, vbSunday)
End Sub

vbSunday は定数で、「日曜始まり」を意味します。vbMonday なども選択可能です。


まとめ:WEEKDAY関数をマスターしてExcelの活用範囲を広げよう

WEEKDAY関数は、一見すると単純な関数ですが、実務での活用度は非常に高いです。
曜日判定をベースに、シフト管理・営業日管理・祝日処理など、さまざまな自動化・可視化が可能になります。
曜日の数値化から、日本語変換、IF関数との連携までマスターすれば、Excel作業の効率が大きくアップするはずです。

まずは実際のExcelファイルで試してみて、自分の業務にどう応用できるかを考えてみてください。

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