概要
「平日だけを抽出したい」ときの基本は、WEEKDAY関数で曜日番号を取り、平日条件でフィルタすることです。WEEKDAYは日付から「曜日番号」を返し、引数の設定次第で月曜=1〜日曜=7などの並びを選べます。実務では WEEKDAY(日付,2) を使い、条件「<=5」で“月〜金”だけを抽出するのが定番です。
基本の使い方
書式
=WEEKDAY(日付, [種類])
- 種類=2 を使うと「月=1, 火=2, …, 金=5, 土=6, 日=7」。この並びがもっとも平日判定しやすいです。
- 種類を省略すると「日=1, …, 土=7」となり、条件が少し複雑になります。
代表例(平日判定)
=WEEKDAY(A2,2)<=5 // TRUEなら平日(月〜金)
具体例
1行ごとに「平日かどうか」をフラグ表示
=IF(WEEKDAY(A2,2)<=5,"平日","週末")
A列に日付一覧がある場合に、B列へ「平日/週末」ラベルを付けられます。
動的配列で“平日のみ”を抽出(Microsoft 365)
=FILTER(A2:A100, WEEKDAY(A2:A100,2)<=5)
A2:A100の中から、平日に当たる日付だけを一覧抽出します。
複数列のレコードを“平日のみ”抽出
=FILTER(A2:D100, WEEKDAY(A2:A100,2)<=5)
日付がA列にある前提で、レコード(A〜D列)を丸ごと平日だけに絞り込みます。
応用テンプレート
週末(土日)だけを抽出したい
=FILTER(A2:A100, WEEKDAY(A2:A100,2)>=6)
条件を「>=6」に変えると“土・日”だけになります。
平日のみのカウント(件数)
=COUNTIF(WEEKDAY(A2:A100,2), "<=5")
レガシー環境では配列数式にするか、ヘルパー列(WEEKDAY結果)を作ってからCOUNTIFしてください。
平日だけで日付を生成したい(n営業日後の日付)
=WORKDAY(開始日, n, 祝日範囲)
抽出ではなく「平日のみ進める」なら WORKDAY が最短です。祝日除外も可能。
週末セルをハイライト(条件付き書式)
=WEEKDAY($A2,2)>=6
範囲を選び、条件付き書式の「数式を使用」で設定すると土日を色付けできます。
よくあるつまずきと対策
種類(戻り値の並び)を間違える
種類=2を使うと「<=5」が平日判定になります。種類を省略(日=1)にすると平日条件が「<>1 AND <>7」など複雑になるため、基本は2を選びましょう。
日付が文字列だと正しく判定できない
“2025/12/17” を文字列で持っているとWEEKDAYが意図通り動かないことがあります。セルを“日付”で入力するか、DATE(年,月,日)で生成してください。
時刻付きでも判定可能
日時(日付+時刻)のセルでもWEEKDAYは日付部分だけを見ます。時刻が付いていても問題ありません。
祝日まで除外したい
WEEKDAYは“週休日”の判定です。祝日を除外する集計・抽出が必要なら、祝日範囲を用意して WORKDAY/NETWORKDAYS/NETWORKDAYS.INTL を使い分けます。
例題
問題1: A2の日付が平日なら「平日」、週末なら「週末」とB2に表示してください。
=IF(WEEKDAY(A2,2)<=5,"平日","週末")
問題2: A2:A100のうち“平日のみ”をC2から下に抽出してください(Microsoft 365)。
=FILTER(A2:A100, WEEKDAY(A2:A100,2)<=5)
問題3: A2:A100のレコード(A〜D列)について、A列が平日の行のみをE2から抽出してください。
=FILTER(A2:D100, WEEKDAY(A2:A100,2)<=5)
問題4: A2:A100の“平日件数”をB2に表示してください(ヘルパー列なしの配列数式)。
=SUM(--(WEEKDAY(A2:A100,2)<=5))
(古いExcelではCtrl+Shift+Enterで確定)
問題5: 日付一覧A2:A100の“週末セル”だけを条件付き書式でハイライトする数式を設定してください。
=WEEKDAY($A2,2)>=6
まとめ
平日抽出の肝は「WEEKDAY(日付,2)」で曜日番号を取り、「<=5」で月〜金だけに絞ること。抽出は FILTER、件数はCOUNT/SUMとの組み合わせ、生成はWORKDAY——この使い分けを押さえると、平日ベースのレポートやスケジュール設計が驚くほどシンプルになります。
