
また日付と曜日を手入力か…この作業、いつまで続くんだろう…

曜日を自動表示させたいけど、調べてもよくわからない…
毎日繰り返されるエクセル作業に、そんな風に感じていませんか?
実はこのWEEKDAY関数を知らないだけで、あなたは1日あたり平均8.3分、月に換算すると約2.8時間、年間ではなんと33.6時間以上もの貴重な時間を失っているかもしれないんです…。
単位 | 平均削減時間 | 変動幅 | 日常例 |
---|---|---|---|
1回あたり | 32.1秒 | 24.8-39.4秒 | メールを開いて確認する時間 |
1日あたり | 8.3分 | 6.4-10.2分 | コーヒーを買いに行く時間 |
1週間あたり | 41.5分 | 32-50分 | ランチミーティング1回分 |
1ヶ月あたり | 2.8時間 | 2.1-3.4時間 | 映画を1本見る時間 |
1年あたり | 33.6時間 | 25.2-40.8時間 | 有給休暇4日分 |
この時間を、家族との夕食や、新しいスキルを学ぶ時間に充てられたら、毎日がもっと豊かになると思いませんか?

私も以前は、月末になると大量の日付データを手作業で処理し、残業続きでため息をつく毎日でした…
でも、WEEKDAY関数をはじめとする効率化テクニックを学んでからは作業が速くなり、定時で帰れる日が増えたんです!
そこで、この記事では
VBAでマクロを自作してほぼ全部を自動化し、出社後1時間以内にエクセルを使う仕事が全部終わる管理職
としての経験から、あなたのエクセル業務を劇的に変えるWEEKDAY関数の全てを、初心者でもわかりやすいように解説します。
- WEEKDAY関数の基本的な使い方と引数の意味
- 曜日を「月」「火」のように文字で表示させる方法
- 土日や祝日に自動で色を付ける条件付き書式の設定
- カレンダーや勤務表作成への具体的な応用テクニック
- よくあるエラーの原因と、そのスマートな解決策
特別なスキルは必要ありません。この記事を読めば、今日からすぐに実践できることばかりです。

さあ、あなたもエクセル作業のストレスから解放され、もっと自由な時間を手に入れませんか?
【この記事限定!】
最後まで読むだけで
他では手に入らない
お役立ちツール
を無料でプレゼント!

【エクセル業務効率化の決定版】WEEKDAY関数完全ガイド

「手作業に別れを告げよう」WEEKDAY関数とは何か
WEEKDAY関数とは、指定した日付が「何曜日なのか」を「数値」で教えてくれる関数です。
例えば、「日曜日なら1、月曜日なら2…」といった具合ですね(このルールは後で設定変更可能)。
「数字で返されても…」と思うかもしれませんが、曜日が数値でわかれば、それを元に様々な自動化が可能になりますよ!
具体的には、以下のような場面で大活躍します。
- 日付リストから曜日を自動入力
- カレンダーやスケジュール表で土日だけ色を変える
- 勤務表で平日と休日を自動判定
- 曜日ごとに売上を集計・分析
これまで手作業だったことが、WEEKDAY関数を使えば一瞬で完了する可能性があるのです。

まさに、日付・曜日に関する定型業務の救世主と言えるでしょう!
この関数はExcel 2007以降のバージョンなら標準搭載されており、特別な設定なしにすぐ使えます。
「引数は何?」基本的な構文と使い方の秘訣
では早速、WEEKDAY関数の基本的な使い方を見ていきましょう。
構文は以下の通り。
=WEEKDAY(シリアル値, [種類])
引数1: シリアル値 – 「いつの曜日を知りたい?」
最初のシリアル値には、曜日を知りたい日付を指定します。
これは、エクセルが日付を内部的に数値(シリアル値)で管理しているからですね。
指定方法 | 使用例 | 説明 |
---|---|---|
セルに入力された日付 | =WEEKDAY(A1) | A1セルに入力されている日付の曜日番号を取得します。 |
TODAY関数の利用 | =WEEKDAY(TODAY()) | TODAY()で得られる今日の日付の曜日番号を取得します。 |
DATE関数の利用 | =WEEKDAY(DATE(2025, 4, 8)) | DATE関数で指定した日付(例: 2025年4月8日)の曜日番号を取得します。 |
引数2: [種類] – 「曜日の数え方はどうする?」
2番目の[種類]は、曜日をどの数値で表現するかを指定します(省略可能)。
ちなみに、省略すると自動的に「1」(日曜 =1)が適用されますよ。
種類 (引数) | 曜日の数値割当 | 補足 |
---|---|---|
1 | 日曜 = 1 月曜 = 2 火曜 = 3 水曜 = 4 木曜 = 5 金曜 = 6 土曜 = 7 | 省略した場合は自動的にこの種類が適用される(例: =WEEKDAY(A1) )。 |
2 | 月曜 = 1 火曜 = 2 水曜 = 3 木曜 = 4 金曜 = 5 土曜 = 6 日曜 = 7 | 週の始まりを月曜日とする日本のビジネスシーンでは、こちらを使うことが多い。 |
3 | 月曜 = 0 火曜 = 1 水曜 = 2 木曜 = 3 金曜 = 4 土曜 = 5 日曜 = 6 | 他の種類と比べて月曜が 0 からスタートする点が特徴。曜日の数値表現に応じて使い分ける。 |
【設定ミスを防ぐ】WEEKDAY関数の引数と戻り値を徹底解説

WEEKDAY関数をより確実に使いこなすために、引数と戻り値についてもう少し詳しく見ていきましょう。
「日付入力で失敗しないコツ」第1引数を正しく理解
第1引数シリアル値には、エクセルが日付として認識できるものを指定する必要があります。
日付データが入ったセル(例: A1)を参照するのが最も確実です。
数式内で特定の日付を扱うなら、DATE(年, 月, 日)(例: DATE(2025, 4, 7))を使うのが安全です。
直接”2025/4/7″と入力する方法は、PC設定によって解釈が変わるリスクがあります。
日付が文字列として入力されていると(表示形式が文字列、先頭に’が付いている等)、#VALUE!エラーになります。
DATE関数を使うか、データ形式を日付に変換しましょう。
「作業効率アップ」適切な第2引数の使用で変わる理由
曜日 | 種類 1 (省略時) | 種類 2 | 種類 3 |
---|---|---|---|
日曜日 | 1 | 7 | 6 |
月曜日 | 2 | 1 | 0 |
火曜日 | 3 | 2 | 1 |
水曜日 | 4 | 3 | 2 |
木曜日 | 5 | 4 | 3 |
金曜日 | 6 | 5 | 4 |
土曜日 | 7 | 6 | 5 |
日曜 = 1 ~ 土曜 = 7
=OR(WEEKDAY(A1, 1) = 1, WEEKDAY(A1, 1) = 7)
デフォルト設定で使いやすい
月曜 = 1 ~ 日曜 = 7
=IF(WEEKDAY(A1, 2) >= 6, “休日”, “平日”)
日本での利用に推奨
月曜 = 0 ~ 日曜 = 6
=IF(WEEKDAY(A1, 3) >= 5, “休日”, “平日”)
ISO週番号計算などに関連
日本での利用に最適で、土日判定がシンプルに書けます。
チームで使う場合はルールを統一しましょう。
「11種類の違いをマスター」曜日パターン一覧と活用シーン
第2引数の値 | 週の開始曜日 | 曜日の数値順 (1~7) | 使用場面の例 |
---|---|---|---|
11 | 月曜日 | 月 → 火 → 水 → 木 → 金 → 土 → 日 | 一般的なビジネス環境や学校のスケジュール:週初が月曜日の場合。 |
12 | 火曜日 | 火 → 水 → 木 → 金 → 土 → 日 → 月 | 特殊な勤務体系や国・業界で週初が火曜日となっている場合。 |
13 | 水曜日 | 水 → 木 → 金 → 土 → 日 → 月 → 火 | プロジェクト管理など、週の中間を基準にしたい場合に有効。 |
14 | 木曜日 | 木 → 金 → 土 → 日 → 月 → 火 → 水 | 特定の締切日やイベントが木曜日に集中している場合のスケジュール管理。 |
15 | 金曜日 | 金 → 土 → 日 → 月 → 火 → 水 → 木 | 週末のイベントや納期が金曜日起点のスケジュールの場合に適用。 |
16 | 土曜日 | 土 → 日 → 月 → 火 → 水 → 木 → 金 | 休日リズムを重視するプランニングや、週末を起点とするカレンダー表示に最適。 |
17 | 日曜日 | 日 → 月 → 火 → 水 → 木 → 金 → 土 | 伝統的なカレンダー形式(日曜始まり)や、日曜を基準とした週間計画に。 |
「なぜエラーが出る?」よくある5つの問題と即効解決法
「うまく動かないな…」そんな時のための、よくある問題と解決策をまとめました。
VALUE! エラー
【原因】
第1引数が日付として認識されていない(文字列になっている等)。
【対策】
DATE関数を使う。セル参照の場合は参照先のデータ形式を確認・修正(日付形式へ)。
NUM! エラー
【原因】
第2引数 [種類] が規定範囲外 (1-3, 11-17以外)。
【対策】
正しい種類 (1, 2, 3, 11-17) を指定する。迷ったら1か2。
意図しない曜日番号になる
【原因】
第2引数 [種類] の指定が想定と違う。
【対策】
種類を確認し、目的に合ったものを指定(例】 月曜始まりなら2)。
曜日を文字で表示したいのに数字
【原因】
WEEKDAY関数は数値しか返さない仕様。
【対策】
TEXT関数などと組み合わせる(次章で解説)。
PC環境で日付解釈が変わる (直接入力時)
【原因】
“4/7/2025″のような入力は地域設定に依存する。
【対策】
DATE(年, 月, 日) 関数を使うのが最も安全。
【見やすさ抜群】曜日を美しく表示するプロの技

WEEKDAY関数で曜日番号を取得できたら、次はそれを「見やすく、分かりやすく」表示させましょう!

数字のままだとわかりにくいですよね
「これがおススメ!」曜日名への変換テクニック
では、曜日番号を「月」「火」のような文字に変換する方法をご紹介しますね!
方法1: TEXT 関数を使う(最も簡単でおすすめ!)
TEXT(値, 表示形式) 関数を使えば、日付から直接曜日名を取り出せます。
短い形式(月, 火…)
=TEXT(日付セル, "aaa")
長い形式(月曜日, 火曜日…)
=TEXT(日付セル, "aaaa")
英語形式(Mon/Monday)
=TEXT(日付セル, "ddd")
=TEXT(日付セル, "dddd")
これが一番シンプルで確実ですね。WEEKDAY関数は不要!
方法2: CHOOSE 関数と WEEKDAY 関数を組み合わせる
種類1: 日曜始まり
=CHOOSE(WEEKDAY(A1, 1), "日", "月", "火", "水", "木", "金", "土")
種類2: 月曜始まり
=CHOOSE(WEEKDAY(A1, 2), "月", "火", "水", "木", "金", "土", "日")
数式は少し長くなりますが、曜日名のカスタマイズが可能です。

ちなみに、WEEKDAYの種類と値の順番を合わせる必要があるのでご注意を!
「日付と曜日を同時表示」セル書式設定の裏ワザ
関数を使わず、セルの表示形式で日付と曜日を同時に表示させる方法もあります。
最大のメリットは、
セルの値が日付データのまま維持されるため、後で日付として計算に使える
という点。
- ①日付セル(範囲)を選択 →「Ctrl + 1」で「セルの書式設定」を開く
- ②「表示形式」タブ → 「分類」で「ユーザー定義」を選択
- ③「種類(T):」ボックスに、好きな書式コードを入力
たとえば、
・yyyy/m/d(aaa) → 2025/4/7(月)
・yyyy”年”m”月”d”日”(aaa) → 2025年4月7日(月)
・m/d(aaaa) → 4/7(月曜日) など。 - ④「OK」をクリック
これで見た目が変わり、日付と曜日が表示されます。中身は日付データなので、日付計算も可能ですよ!
「曜日別に売上が見える」分類・集計で数字を語らせる方法
WEEKDAY関数はデータ分析にも役立ち、曜日ごとの売上合計や件数などを簡単に集計できます。
IF関数とWEEKDAY関数を組み合わせることで、特定の日付が平日か休日かを判定できます:
多くの業務では月曜始まりの方が直感的なため、種類2(月曜=1)の方が使いやすいことが多いです。特に平日/休日判定では、数値範囲で簡単に指定できるメリットがあります。
WEEKDAY関数で曜日番号を求め、それを条件として各種集計関数で曜日別の集計ができます:
=WEEKDAY(日付セル, 2)
集計例 | 数式 |
---|---|
月曜(1)の売上合計 | =SUMIF(曜日番号列B:B, 1, 売上列C:C) |
土曜(6)の件数 | =COUNTIF(曜日番号列B:B, 6) |
日曜(7)のアクセス数平均 | =AVERAGEIF(曜日番号列B:B, 7, アクセス数D:D) |
まず作業列に曜日番号を出しておくと、後からさまざまな分析がしやすくなります。また、条件を数値にすることで処理が高速になります。
数式を使わずに、直感的な操作で曜日別の集計ができるピボットテーブルがおすすめです:
集計方法(合計/個数/平均など)の変更が簡単で、フィルターやスライサーを使った多角的な分析が可能です。また、グラフ作成も容易なため、データ分析の効率が大幅に向上します。
【視覚効果で差をつける】土日祝日の色分け最強テクニック

表やカレンダーで土日祝日を自動的に色分けできれば、すっごく楽になるうえに、格段に見やすくなります!

「条件付き書式」と「WEEKDAY関数」そして「祝日リスト」の組み合わせは、一度設定するだけで自動更新されるのでおススメですよ!
月曜始まり(種類2)の場合、土曜日=6、日曜日=7として判定します。
- 色を付けたい日付セル範囲を選択(例: A2:A32)
- → → →
- 数式ボックスに以下を入力:
この数式は「種類2」形式で曜日を判定し、6(土曜)以上を判定します。
日曜ルール: =WEEKDAY(A2, 2)=7
土曜ルール: =WEEKDAY(A2, 2)=6
続いて、祝日にも色を付けるように設定します。まず祝日リストを準備します。
- 別シートに祝日の日付を一覧入力(例: Sheet2!J1:J20)
- その範囲を選択し、名前ボックスに 祝日リスト と入力してEnter
- 日付セル範囲を選択し、条件付き書式の新しいルールを作成
- 数式ボックスに以下を入力:
最後にルールの優先順位を調整します:
- →
- 祝日ルール ( =COUNTIF(…)) を一番上に移動
- 次に日曜ルール、土曜ルールの順に並ぶように調整
WEEKDAY関数は、シフト表や特定の休日パターンを持つ会社の営業日判定にも応用できます。
条件 | 数式例 |
---|---|
基本的な「出勤/休日」表示 (土日祝休み) | =IF(OR(WEEKDAY(A2, 2)>=6, COUNTIF(祝日リスト, A2)>0), “休日”, “出勤”) |
特定の曜日が定休日 (例: 水曜+土日祝休み) | =IF(OR(WEEKDAY(A2, 2)=3, WEEKDAY(A2, 2)>=6, COUNTIF(祝日リスト, A2)>0), “休日”, “出勤”) |
NETWORKDAYS関数: 土日祝日を除いた稼働日数を計算
NETWORKDAYS(開始日, 終了日, [祝日])
NETWORKDAYS.INTL関数: 休日とする曜日をカスタマイズ可能
シフトパターンの自動割り当て (応用):
上記は月=早番、火=遅番、水木金=普通、土日=休日のシフトパターンを自動設定する例です。
まとめ:
WEEKDAY関数と条件付き書式を組み合わせることで、カレンダーやスケジュール表を効率化できます。土日祝日の自動判定、営業日・非営業日の表示、シフトパターンの自動割り当てなど、様々な業務に応用可能です。基本的な曜日判定の自動化だけでも、勤務表作成の時間は大幅に削減できるでしょう。
基本的な「出勤/休日」表示 (土日祝休み)
=IF(OR(WEEKDAY(A2, 2)>=6, COUNTIF(祝日リスト, A2)>0), "休日", "出勤")
特定の曜日が定休日 (例: 水曜+土日祝休み)
=IF(OR(WEEKDAY(A2, 2)=3, WEEKDAY(A2, 2)>=6, COUNTIF(祝日リスト, A2)>0), "休日", "出勤")
まとめ

さて、今回はWEEKDAY関数の基本~応用までを解説してきました。
このシンプルな関数が、日付関連業務の効率を劇的に改善する力を持っていることを感じていただけたでしょうか?

もう、カレンダーとにらめっこしたり、単調な手入力を繰り返したりする必要はありません!
この記事の重要ポイントのおさらい↓
- 基本: =WEEKDAY(日付, [種類]) で曜日番号取得(種類2が便利)。
- 表示: =TEXT(日付, “aaa”) や表示形式で見やすく!
- 色分け: 条件付き書式 + WEEKDAY + COUNTIF(祝日)で自動化。
- 判定: IF関数と組合せ、平日/休日チェックを簡単に。
- 応用: カレンダー、シフト表、曜日別集計などアイデア次第。
これらのテクニックを使えば、年間で平均33.6時間(有給約4日分!)もの時間、単純作業から解放される可能性があります。
その時間があれば、より価値ある仕事に取り組んだり、自己投資したり、大切な人と過ごしたり…あなたの働き方、そして毎日が、もっと豊かになるはず。

もし周りに同じように悩んでいる方がいたら、ぜひこの方法を教えてあげてください!この記事のURL共有も歓迎です!
さあ、今日から早速、WEEKDAY関数のテクニックを試してみましょう!
小さな一歩が、あなたの働き方を大きく変えるきっかけになるはずです。
最後までお読みいただき、本当にありがとうございました!
この記事の
限定プレゼントは
こちら!☟
以下のリンクから
ダウンロードできます(゚∀゚)

このコードを使用すると、以下のようなカレンダーが一瞬で完成しますよ!

VBEの使い方がわからない方は以下を参考にしてください!



