「日付は入力できたけど、曜日を自動で表示させたい」
「Excelで曜日を出すにはどんな関数を使えばいいの?」
こんな疑問を持っていませんか?
請求書、シフト表、スケジュール管理、営業日計算などで日付と一緒に曜日を表示したいシーンはとても多いです。
手動で入力すると間違いやすく、時間もかかってしまいます。
Excelには曜日を自動的に表示したり、数字で取得したりする便利な関数が用意されています。
この記事では、以下の内容を初心者にもわかりやすく解説します:
- TEXT関数を使った曜日の文字表示(月曜日、火曜日など)
- WEEKDAY関数を使った数字での曜日取得(1〜7の数値)
- 応用的な活用方法(土日判定、条件付き書式、シフト管理)
- 実務で使える具体例(営業日計算、祝日判定)
- よくあるトラブルと解決法
Excelでの曜日表示の基本

曜日表示の2つのアプローチ
Excelで曜日を扱う方法は大きく分けて2つあります:
方法 | 関数 | 結果 | 用途 |
---|---|---|---|
文字での表示 | TEXT関数 | 月曜日、火曜日 | 印刷物、見た目重視 |
数値での取得 | WEEKDAY関数 | 1, 2, 3… | 計算、条件判定 |
日付の基本知識
Excelでは日付をシリアル値(連続した数値)で管理しています:
- 1900年1月1日 = 1
- 2025年7月14日 = 45660
この仕組みを理解しておくと、曜日関数の動作がよくわかります。
TEXT関数を使った曜日の文字表示
TEXT関数の基本
TEXT関数は、数値を指定した書式で文字列に変換する関数です。
基本構文
=TEXT(日付, "書式コード")
曜日の書式コード
書式コード | 結果 | 例 |
---|---|---|
"aaa" | 短縮形(日本語) | 月、火、水 |
"aaaa" | 完全形(日本語) | 月曜日、火曜日、水曜日 |
"ddd" | 短縮形(英語) | Mon, Tue, Wed |
"dddd" | 完全形(英語) | Monday, Tuesday, Wednesday |
実際の使用例
基本的な曜日表示
データ例
A列(日付) B列(曜日)
2025/7/14 =TEXT(A1,"aaaa") → 月曜日
2025/7/15 =TEXT(A2,"aaaa") → 火曜日
2025/7/16 =TEXT(A3,"aaaa") → 水曜日
短縮形での表示
=TEXT(A1,"aaa") → 月
=TEXT(A1,"ddd") → Mon
英語での曜日表示
=TEXT(A1,"dddd") → Monday
=TEXT(A1,"ddd") → Mon
複合的な表示パターン
日付と曜日を組み合わせ
=TEXT(A1,"m/d")&"("&TEXT(A1,"aaa")&")"
// 結果:7/14(月)
=TEXT(A1,"yyyy年m月d日")&"("&TEXT(A1,"aaaa")&")"
// 結果:2025年7月14日(月曜日)
カスタム書式での一体表示
セルの書式設定を使用
- セルを右クリック → 「セルの書式設定」
- 「表示形式」タブ → 「ユーザー定義」
- 種類に以下を入力:
yyyy/m/d(aaa) → 2025/7/14(月)
m月d日(aaaa) → 7月14日(月曜日)
mm/dd dddd → 07/14 Monday
TEXT関数の活用場面
請求書・見積書での使用
// A1に日付、B1に曜日付きの文字列
=TEXT(A1,"yyyy年m月d日")&"("&TEXT(A1,"aaaa")&")"
// 結果:2025年7月14日(月曜日)
会議資料での使用
// 会議日程の表示
="会議日時:" & TEXT(A1,"m月d日") & "(" & TEXT(A1,"aaa") & ")" & " " & TEXT(B1,"h:mm")
// 結果:会議日時:7月14日(月)14:30
WEEKDAY関数を使った数値での曜日取得
WEEKDAY関数の基本
WEEKDAY関数は、指定した日付の曜日を1〜7の数値で返します。
基本構文
=WEEKDAY(日付, [種類])
種類パラメータの詳細
種類 | 日曜 | 月曜 | 火曜 | 水曜 | 木曜 | 金曜 | 土曜 | 用途 |
---|---|---|---|---|---|---|---|---|
1(デフォルト) | 1 | 2 | 3 | 4 | 5 | 6 | 7 | アメリカ式 |
2 | 7 | 1 | 2 | 3 | 4 | 5 | 6 | ヨーロッパ式 |
3 | 6 | 0 | 1 | 2 | 3 | 4 | 5 | プログラミング式 |
実際の使用例
基本的な使用方法
// 2025年7月14日(月曜日)の場合
=WEEKDAY("2025/7/14") → 2 (種類1:月曜=2)
=WEEKDAY("2025/7/14",2) → 1 (種類2:月曜=1)
=WEEKDAY("2025/7/14",3) → 0 (種類3:月曜=0)
セル参照での使用
// A1に2025/7/14が入力されている場合
=WEEKDAY(A1) → 2
=WEEKDAY(A1,2) → 1
=WEEKDAY(A1,3) → 0
どの種類を選ぶべきか
おすすめの使い分け
種類2(月曜=1)がおすすめの理由
- 月曜始まりは世界的に一般的
- 平日(1-5)と休日(6-7)の判定が簡単
- ビジネス用途に適している
具体例
// 種類2を使った土日判定
=IF(WEEKDAY(A1,2)>5,"休日","平日")
// 種類2を使った平日のみカウント
=IF(WEEKDAY(A1,2)<=5,1,0)
曜日関数の実用的な活用例

土日・休日の判定と色分け
基本的な土日判定
// 土日かどうかを判定(種類2使用)
=IF(WEEKDAY(A1,2)>5,"休日","平日")
// より詳細な判定
=IF(WEEKDAY(A1,2)=6,"土曜日",IF(WEEKDAY(A1,2)=7,"日曜日","平日"))
条件付き書式での自動色分け
手順
- 日付が入力されている範囲を選択
- 「ホーム」タブ → 「条件付き書式」 → 「新しいルール」
- 「数式を使用して、書式設定するセルを決定」を選択
土曜日を青色にする場合
数式:=WEEKDAY($A1,2)=6
書式:背景色を青に設定
日曜日を赤色にする場合
数式:=WEEKDAY($A1,2)=7
書式:背景色を赤に設定
土日をまとめて色付けする場合
数式:=WEEKDAY($A1,2)>5
書式:背景色をグレーに設定
シフト管理での活用
基本的なシフト判定
// 曜日別の勤務パターン
=CHOOSE(WEEKDAY(A1,2),"月曜シフト","火曜シフト","水曜シフト","木曜シフト","金曜シフト","土曜シフト","休み")
複雑なシフトパターン
// 平日・土曜・日曜で異なる勤務時間
=IF(WEEKDAY(A1,2)<=5,"9:00-18:00",IF(WEEKDAY(A1,2)=6,"9:00-17:00","休み"))
シフト表の自動生成
A列に日付、B列に曜日、C列にシフト
// B列(曜日)
=TEXT(A1,"aaaa")
// C列(シフト)
=IF(WEEKDAY(A1,2)<=5,
IF(WEEKDAY(A1,2)<=3,"早番","遅番"),
IF(WEEKDAY(A1,2)=6,"土曜番","休み"))
営業日・稼働日の計算
平日のみのカウント
// 期間内の平日数をカウント
=SUMPRODUCT((WEEKDAY(ROW(INDIRECT(A1&":"&B1)),2)<=5)*1)
より実用的な営業日計算
// 特定期間の営業日数(土日除く)
=NETWORKDAYS(開始日, 終了日)
// 祝日も除外した営業日数
=NETWORKDAYS(開始日, 終了日, 祝日リスト)
N営業日後の日付計算
// 10営業日後の日付
=WORKDAY(開始日, 10)
// 祝日を考慮した10営業日後
=WORKDAY(開始日, 10, 祝日リスト)
月次・週次レポートでの活用
月の第何週かを判定
// その日が月の第何週かを表示
=INT((DAY(A1)+WEEKDAY(DATE(YEAR(A1),MONTH(A1),1),2)-2)/7)+1
四半期の週番号
// 四半期内での週番号
=WEEKNUM(A1)-WEEKNUM(DATE(YEAR(A1),((ROUNDUP(MONTH(A1)/3,0)-1)*3)+1,1))+1
高度な曜日活用テクニック
祝日判定との組み合わせ
祝日リストとの照合
祝日リスト(別シート)を作成
祝日!A:A に祝日一覧を入力
2025/1/1 元日
2025/1/13 成人の日
2025/2/11 建国記念の日
...
営業日判定の数式
=IF(COUNTIF(祝日!A:A,A1)>0,"祝日",
IF(WEEKDAY(A1,2)>5,"休日","営業日"))
より高度な営業日判定
// 土日祝日を総合判定
=IF(OR(WEEKDAY(A1,2)>5,COUNTIF(祝日!A:A,A1)>0),"休業日","営業日")
動的なカレンダー作成
月間カレンダーの自動生成
基本構造
// B1に年月を入力(例:2025/7/1)
// カレンダーの各日付セル
=IF(COLUMN()-1+WEEKDAY(DATE(YEAR($B$1),MONTH($B$1),1),2)-1<=DAY(EOMONTH($B$1,0)),
COLUMN()-1+WEEKDAY(DATE(YEAR($B$1),MONTH($B$1),1),2)-1,"")
曜日ヘッダーの自動表示
// 曜日ヘッダー(月〜日)
=TEXT(DATE(2025,1,6)+COLUMN()-1,"aaa") // 2025/1/6は月曜日
条件付き集計
曜日別の売上集計
// 月曜日の売上合計
=SUMIF(B:B,2,C:C) // B列にWEEKDAY関数の結果、C列に売上
// より読みやすい形
=SUMIFS(売上範囲,日付範囲,">="&月初日,日付範囲,"<="&月末日,曜日範囲,2)
曜日別の平均
// 各曜日の平均売上
=AVERAGEIF(曜日列,1,売上列) // 月曜日の平均
=AVERAGEIF(曜日列,2,売上列) // 火曜日の平均
よくあるトラブルと解決法

TEXT関数のトラブル
問題1:TEXT関数の結果が期待と違う
症状:TEXT関数で英語の曜日が表示される
原因:Windowsの地域設定が英語になっている
解決法:
- Windowsの設定 → 時刻と言語 → 地域
- 地域形式を「日本」に設定
- Excelを再起動
問題2:書式コードが認識されない
症状:=TEXT(A1,"aaaa")
が「aaaa」と表示される
原因:数式として認識されていない
解決法:
- セルの書式が「文字列」になっていないか確認
- 数式の先頭に「=」があるか確認
WEEKDAY関数のトラブル
問題1:期待した数値が返らない
症状:月曜日なのに1が返らない
原因:種類パラメータが間違っている
解決法:
// 月曜=1にしたい場合は種類2を使用
=WEEKDAY(A1,2)
問題2:エラー値が表示される
症状:#VALUE!
エラーが表示
原因:日付として認識されない値が入力されている
解決法:
// 日付の妥当性をチェック
=IF(ISNUMBER(A1),WEEKDAY(A1,2),"日付エラー")
条件付き書式のトラブル
問題1:条件付き書式が適用されない
症状:数式を設定したが色が変わらない
解決法:
- 絶対参照($)の使い方を確認
- 数式が正しいセル範囲を参照しているか確認
正しい例:
// 範囲A1:A10に適用する場合
=$A1の数式 → ○(相対参照)
=$A$1の数式 → ×(絶対参照)
問題2:複数条件が競合する
症状:最初の条件しか適用されない
解決法:
- 条件の優先順位を確認
- より具体的な条件を上位に配置
実務での応用例
プロジェクト管理での活用
作業日程の自動計算
基本的な進捗管理表
A列:タスク名
B列:開始日
C列:所要日数
D列:終了日(営業日ベース)
E列:終了日の曜日
数式例
// D列:営業日ベースの終了日
=WORKDAY(B2,C2-1)
// E列:終了日の曜日
=TEXT(D2,"aaaa")
週次レポート期間の自動設定
// 今週月曜日の日付
=TODAY()-WEEKDAY(TODAY(),2)+1
// 今週金曜日の日付
=TODAY()-WEEKDAY(TODAY(),2)+5
// 先週月曜日の日付
=TODAY()-WEEKDAY(TODAY(),2)-6
給与計算での活用
出勤日数の自動計算
// 月間平日出勤日数
=SUMPRODUCT((MONTH(ROW(INDIRECT(月初&":"&月末)))=MONTH(月初))*
(WEEKDAY(ROW(INDIRECT(月初&":"&月末)),2)<=5))
土日出勤手当の計算
// 土日出勤かどうかの判定
=IF(AND(出勤フラグ=TRUE,WEEKDAY(日付,2)>5),"土日出勤","通常出勤")
売上分析での活用
曜日別売上トレンド
// 各曜日の平均売上(月〜日)
月曜平均:=AVERAGEIF(曜日番号列,2,売上列)
火曜平均:=AVERAGEIF(曜日番号列,3,売上列)
...
週末効果の分析
// 平日vs週末の売上比較
平日平均:=AVERAGEIFS(売上列,曜日番号列,"<=5")
週末平均:=AVERAGEIFS(売上列,曜日番号列,">5")
まとめ
曜日関数の使い分けガイド
用途別の選択指針
用途 | 推奨関数 | 設定例 | 理由 |
---|---|---|---|
表示・印刷 | TEXT関数 | =TEXT(A1,"aaaa") | 見た目が美しい |
条件判定 | WEEKDAY関数 | =WEEKDAY(A1,2) | 計算しやすい |
営業日計算 | WORKDAY/NETWORKDAYS | =WORKDAY(A1,5) | 専用関数が便利 |
集計・分析 | WEEKDAY関数 | =WEEKDAY(A1,2) | 数値で処理可能 |
段階的な習得方法
ステップ1:基本をマスター
- TEXT関数での曜日表示
- WEEKDAY関数での数値取得
- 基本的な土日判定
ステップ2:応用技術を習得
- 条件付き書式との連携
- シフト管理への応用
- 営業日計算の活用
ステップ3:高度な活用に挑戦
- 祝日判定の組み込み
- 動的カレンダーの作成
- 複雑な集計分析
業務効率化への効果
時間短縮のメリット:
- 手動での曜日確認が不要
- カレンダーを見る回数が激減
- ミスのない正確な曜日表示
分析精度の向上:
- 曜日別の傾向分析が可能
- 営業日ベースの正確な計算
- データドリブンな意思決定
自動化の推進:
- レポート作成の自動化
- スケジュール管理の効率化
- 条件付きフォーマットの活用
コメント