Excelで曜日を表示する関数|WEEKDAYとTEXTの使い方をわかりやすく解説

Excel

「Excelで日付は入れたけど、曜日も一緒に表示させたい」「スケジュール表を作りたいから、自動で曜日を出せたらいいのに…」

こんなことを思ったことはありませんか?

よくある使用場面

  • 勤怠管理表で日付と曜日を自動表示したい
  • スケジュール表やカレンダーを作成したい
  • 請求書や見積書で日付の曜日を確認したい
  • シフト表で土日を自動判定したい
  • プロジェクト管理で営業日を計算したい

Excelには日付から曜日を求める便利な関数がいくつかあります。曜日を表示できるようになると、これらの作業が格段に楽になります。

この記事では、以下の内容を初心者向けにわかりやすく解説します:

  • TEXT関数で曜日を文字として表示する方法
  • WEEKDAY関数で曜日を数値として取得する方法
  • 実用的な応用テクニックと組み合わせ方
  • よくあるトラブルと解決方法
スポンサーリンク

TEXT関数で曜日を文字表示

TEXT関数とは

TEXT関数は、日付や数値を指定した書式(フォーマット)で表示できる便利な関数です。

基本的な書式

=TEXT(日付, "表示形式")

曜日表示の基本例

例:A1セルに「2025/7/14」が入力されている場合

=TEXT(A1, "aaaa")

結果:月曜日

=TEXT(A1, "aaa")

結果:月

曜日表示形式の一覧

日本語での表示

書式コード表示例説明
"aaa"日本語短縮形
"aaaa"月曜日日本語フル表示

英語での表示

書式コード表示例説明
"ddd"Mon英語短縮形
"dddd"Monday英語フル表示

日付と曜日を組み合わせた表示

パターン1:日付(曜日)形式

=TEXT(A1, "m/d (aaa)")

結果:7/14 (月)

パターン2:年月日曜日形式

=TEXT(A1, "yyyy年m月d日 (aaaa)")

結果:2025年7月14日 (月曜日)

パターン3:英語形式

=TEXT(A1, "mmmm d, yyyy (dddd)")

結果:July 14, 2025 (Monday)

TEXT関数のメリット

利点

  • 見た目通りの文字列として曜日を取得
  • 書式を自由にカスタマイズ可能
  • 他の文字列と組み合わせやすい
  • 表示用途に最適

適用場面

  • レポートや資料での表示
  • 印刷物での日付表記
  • ユーザー向けの分かりやすい表示

WEEKDAY関数で曜日を数値取得

WEEKDAY関数とは

WEEKDAY関数は、指定した日付の曜日を1〜7の数字で返す関数です。

基本的な書式

=WEEKDAY(日付, 種類)

「種類」パラメータの違い

種類1(既定値)

=WEEKDAY(A1, 1)
=WEEKDAY(A1)  ←種類を省略すると1になる
曜日返り値
日曜日1
月曜日2
火曜日3
水曜日4
木曜日5
金曜日6
土曜日7

種類2(ヨーロッパ式)

=WEEKDAY(A1, 2)
曜日返り値
月曜日1
火曜日2
水曜日3
木曜日4
金曜日5
土曜日6
日曜日7

種類3(プログラミング式)

=WEEKDAY(A1, 3)
曜日返り値
月曜日0
火曜日1
水曜日2
木曜日3
金曜日4
土曜日5
日曜日6

WEEKDAY関数の実用例

例1:平日・休日の判定

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

解説

  • WEEKDAY(A1,2)>5:土曜日(6)または日曜日(7)
  • 条件に当てはまれば「休日」、そうでなければ「平日」

例2:土日の判定

=IF(OR(WEEKDAY(A1)=1,WEEKDAY(A1)=7),"土日","平日")

例3:特定の曜日をチェック

=IF(WEEKDAY(A1,2)=1,"月曜日です","月曜日ではありません")

WEEKDAY関数のメリット

利点

  • 数値として扱えるため計算に適している
  • 条件分岐(IF関数)との組み合わせが簡単
  • データ分析や集計に活用できる
  • 高速な処理が可能

適用場面

  • 条件付きの計算や判定
  • データの自動分類
  • 営業日計算
  • シフト管理システム

実用的な応用テクニック

曜日に応じた自動色分け

条件付き書式と組み合わせて、曜日に応じてセルの色を自動変更できます。

設定手順

  1. 対象のセル範囲を選択
  2. 「ホーム」→「条件付き書式」→「新しいルール」
  3. 「数式を使用して、書式設定するセルを決定」を選択

土曜日を青色にする例

=WEEKDAY($A1,2)=6

日曜日を赤色にする例

=WEEKDAY($A1,2)=7

営業日の計算

次の営業日を求める

=A1+IF(WEEKDAY(A1,2)=5,3,IF(WEEKDAY(A1,2)=6,2,1))

営業日のみをカウント

=NETWORKDAYS(開始日, 終了日)

曜日別の集計

SUMIF関数との組み合わせ

=SUMIF(B:B,TEXT(A:A,"aaa")="月",C:C)

月曜日の売上のみを合計

COUNTIF関数との組み合わせ

=COUNTIF(A:A,">="&TODAY()-WEEKDAY(TODAY(),2)+1)

今週の営業日数をカウント

動的カレンダーの作成

月の最初の日を求める

=DATE(YEAR(TODAY()),MONTH(TODAY()),1)

その月の第1週目の日曜日を求める

=DATE(YEAR(A1),MONTH(A1),1)-WEEKDAY(DATE(YEAR(A1),MONTH(A1),1))+1

高度なテクニック

カスタム曜日表示

独自の曜日名を使用

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

英語の曜日名

=CHOOSE(WEEKDAY(A1),"Sun","Mon","Tue","Wed","Thu","Fri","Sat")

数字付き曜日

=WEEKDAY(A1,2) & "." & TEXT(A1,"aaa")

結果例:1.月

複数条件での曜日判定

平日かつ月末の判定

=AND(WEEKDAY(A1,2)<=5, DAY(A1)>=25)

月初の営業日判定

=AND(WEEKDAY(A1,2)<=5, DAY(A1)<=7)

配列数式での一括処理

Excel 365での配列処理

=TEXT(A1:A100,"aaa")

A1からA100までの日付を一度に曜日に変換

VLOOKUPとの組み合わせ

曜日別料金表の参照

=VLOOKUP(TEXT(A1,"aaa"),料金表,2,FALSE)

料金表例

曜日料金
1000
1000
1000
1000
1000
1500
1500

よくある問題と解決法

曜日が正しく表示されない

原因1:セルに正しい日付が入力されていない

解決方法

  1. セルの値を確認(F2キーで編集モード)
  2. 日付として認識されているかチェック
  3. 必要に応じてDATE関数で正しい日付を作成
=DATE(2025,7,14)

原因2:地域設定による表示の違い

解決方法

  • Excelの言語設定を確認
  • 明示的に言語を指定:[$-411]aaa(日本語)

エラーが表示される場合

#VALUE!エラー

原因:日付以外の値が入力されている 解決方法

=IF(ISNUMBER(A1),TEXT(A1,"aaa"),"")

#NAME?エラー

原因:関数名やパラメータの入力ミス 解決方法:関数名とパラメータを再確認

期待する曜日形式にならない

英語表示になってしまう場合

解決方法

=TEXT(A1,"[$-411]aaa")  ←明示的に日本語を指定

数値が表示される場合

原因:WEEKDAY関数とTEXT関数を混同 解決方法:用途に応じて適切な関数を選択

よくある質問(Q&A)

Q. TEXT関数とWEEKDAY関数のどちらを使うべき?

A. 用途によって使い分けましょう:

TEXT関数が適している場面

  • 見た目に曜日を表示したい
  • レポートや印刷物で使用
  • 文字列として曜日を扱いたい

WEEKDAY関数が適している場面

  • 曜日で条件分岐したい
  • 計算や判定に使用
  • データ分析で曜日を数値として扱いたい

Q. 祝日も考慮した判定はできる?

A. 祝日リストと組み合わせて判定できます:

=IF(COUNTIF(祝日リスト,A1)>0,"祝日",IF(WEEKDAY(A1,2)>5,"休日","平日"))

Q. 曜日の表示がずれる場合は?

A. 以下を確認してください:

日付の入力形式

  • Excel が認識できる日付形式で入力
  • 年月日の順序が正しいか確認

地域設定

  • Windows の地域設定を確認
  • Excel の言語設定を確認

Q. 大量のデータで処理が遅い場合は?

A. 以下の方法で改善できます:

効率化のテクニック

  • 配列数式の活用
  • 不要な再計算の回避
  • 計算方法を「手動」に一時変更

Q. 過去や未来の日付でも正しく動作する?

A. はい、Excelが認識できる日付範囲内であれば正常に動作します:

Excelの日付範囲

  • 1900年1月1日 〜 9999年12月31日
  • ただし、1900年より前は正しく処理されない場合があります

実用的な活用例

勤怠管理表の作成

=TEXT(A1,"m/d") & "(" & TEXT(A1,"aaa") & ")"

結果例:7/14(月)

シフト表での自動判定

=IF(WEEKDAY(A1,2)<=5,"通常勤務",IF(WEEKDAY(A1,2)=6,"土曜勤務","休日"))

プロジェクト管理での営業日計算

=NETWORKDAYS(開始日,終了日,祝日リスト)

売上分析での曜日集計

=SUMIFS(売上データ,日付データ,">="&開始日,日付データ,"<="&終了日,曜日データ,"月")

まとめ

Excelで曜日を扱う関数は、用途に応じて使い分けることが重要です:

基本的な使い方

  1. 文字で曜日を表示=TEXT(日付, "aaa")または"aaaa"
  2. 数値で曜日を取得=WEEKDAY(日付, 種類)

表示形式の選択

  • “aaa”:月、火、水…(短縮形)
  • “aaaa”:月曜日、火曜日…(フル表示)
  • “ddd”:Mon、Tue…(英語短縮)
  • “dddd”:Monday、Tuesday…(英語フル)

WEEKDAYの種類パラメータ

  • 種類1:日曜日=1、月曜日=2…土曜日=7
  • 種類2:月曜日=1、火曜日=2…日曜日=7(推奨)
  • 種類3:月曜日=0、火曜日=1…日曜日=6

実用的な応用

  • 条件付き書式での自動色分け
  • IF関数との組み合わせで平日・休日判定
  • NETWORKDAYS関数での営業日計算
  • SUMIFS/COUNTIFS関数での曜日別集計

トラブル回避のコツ

  • 正しい日付形式で入力する
  • 地域設定と言語設定を確認する
  • エラー処理を組み込む
  • 用途に応じて適切な関数を選択する

コメント

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