Excelで曜日を表示する方法|TEXT関数とWEEKDAY関数を使いこなそう

Excel

「日付は入力できたけど、曜日を自動で表示させたい」
「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日(月曜日)

カスタム書式での一体表示

セルの書式設定を使用

  1. セルを右クリック → 「セルの書式設定」
  2. 「表示形式」タブ → 「ユーザー定義」
  3. 種類に以下を入力:
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(デフォルト)1234567アメリカ式
27123456ヨーロッパ式
36012345プログラミング式

実際の使用例

基本的な使用方法

// 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,"日曜日","平日"))

条件付き書式での自動色分け

手順

  1. 日付が入力されている範囲を選択
  2. 「ホーム」タブ → 「条件付き書式」 → 「新しいルール」
  3. 「数式を使用して、書式設定するセルを決定」を選択

土曜日を青色にする場合

数式:=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の地域設定が英語になっている

解決法

  1. Windowsの設定 → 時刻と言語 → 地域
  2. 地域形式を「日本」に設定
  3. 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:高度な活用に挑戦

  • 祝日判定の組み込み
  • 動的カレンダーの作成
  • 複雑な集計分析

業務効率化への効果

時間短縮のメリット

  • 手動での曜日確認が不要
  • カレンダーを見る回数が激減
  • ミスのない正確な曜日表示

分析精度の向上

  • 曜日別の傾向分析が可能
  • 営業日ベースの正確な計算
  • データドリブンな意思決定

自動化の推進

  • レポート作成の自動化
  • スケジュール管理の効率化
  • 条件付きフォーマットの活用

コメント

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