「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関数)との組み合わせが簡単
- データ分析や集計に活用できる
- 高速な処理が可能
適用場面
- 条件付きの計算や判定
- データの自動分類
- 営業日計算
- シフト管理システム
実用的な応用テクニック
曜日に応じた自動色分け
条件付き書式と組み合わせて、曜日に応じてセルの色を自動変更できます。
設定手順
- 対象のセル範囲を選択
- 「ホーム」→「条件付き書式」→「新しいルール」
- 「数式を使用して、書式設定するセルを決定」を選択
土曜日を青色にする例
=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:セルに正しい日付が入力されていない
解決方法
- セルの値を確認(F2キーで編集モード)
- 日付として認識されているかチェック
- 必要に応じて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で曜日を扱う関数は、用途に応じて使い分けることが重要です:
基本的な使い方
- 文字で曜日を表示:
=TEXT(日付, "aaa")
または"aaaa"
- 数値で曜日を取得:
=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関数での曜日別集計
トラブル回避のコツ
- 正しい日付形式で入力する
- 地域設定と言語設定を確認する
- エラー処理を組み込む
- 用途に応じて適切な関数を選択する
コメント