Excelで日付を入力したあと、「この日って何曜日だっけ?」と確認したくなる場面は意外と多いですよね。 手入力で曜日を書いていると、日付を修正するたびに直さなければならず、ミスも起こりがちです。
実はExcelには、日付から曜日を自動で表示したり、曜日ごとに判定・処理を分けたりできる関数が用意されています。ただし、TEXT関数やWEEKDAY関数など、いくつか選択肢があるため、「どれを使えばいいのか分からない」と感じる方も多いはずです。
この記事では、Excelで曜日を扱うための基本的な考え方から、具体的な関数の使い方、実務で役立つ判定例までを分かりやすく解説します。これを読めば、曜日に関する操作で迷うことはなくなりますよ。
Excelで曜日を扱う方法の全体像
Excelで曜日を扱う場面は、想像以上に多いものです。 日付は入力できているのに、「そこから曜日を出したい」「曜日ごとに処理を分けたい」と思った瞬間、手が止まってしまった経験はありませんか。
実は、Excelでは曜日を扱う方法がひとつではありません。 目的によって、使う関数や考え方が変わるため、ここを整理せずに進むと混乱しやすいんですよね。
まずは、Excelにおける曜日の扱い方の全体像を押さえていきましょう。
Excelで「曜日」を出したい場面とは
曜日を扱いたい場面は、実務でもかなり頻繁に登場します。
- 日付から「月・火・水…」を自動表示したい
- 土日か平日かを判定したい
- 特定の曜日だけ集計・抽出したい
- 勤怠表やシフト表で曜日を表示したい
こうしたケースでは、手入力で曜日を書くのは現実的ではありません。 日付を変更するたびに修正が必要になり、ミスの原因にもなります。
日付を元に、曜日を自動で扱えるようにする これが、Excelで曜日関数を使う最大の目的です。
曜日は「数値」と「文字」で扱えることを理解しよう
Excelの曜日は、大きく分けて次の2つの形で扱えます。
- 数値としての曜日(例:1〜7)
- 文字としての曜日(例:月、火、Mon、Monday)
ここが混乱しやすいポイントですが、どちらが正しい・間違いという話ではありません。
例えば、
- 画面上に曜日を表示したい → 文字の曜日
- 条件判定や計算に使いたい → 数値の曜日
というように、目的によって使い分けるのが基本です。
曜日を「見せたい」のか、「計算に使いたい」のか。 この違いを最初に意識できると、関数選びで迷わなくなりますよ。
次は、曜日を文字として表示する方法を見ていきましょう。 ここでは、実務で最も使われるTEXT関数を中心に解説していきます。
曜日を文字で表示する方法(最重要)
Excelで「曜日を表示したい」という場合、 多くのケースでは曜日を文字として表示したいはずです。
例えば、
- 「月・火・水…」と日本語で表示したい
- 「Mon」「Monday」など英語表記にしたい
こうした場合に使うのが、TEXT関数です。
曜日を“見せる”目的なら、まずTEXT関数 と覚えておくと迷いにくいですよ。
TEXT関数で曜日を表示する基本構文
TEXT関数は、数値や日付を指定した書式の文字列に変換する関数です。
基本構文は次のとおりです。
=TEXT(値, “表示形式”)
例えば、A1セルに日付が入っている場合、曜日を表示する基本形は次のようになります。
=TEXT(A1, "ddd")
これだけで、A1の日付に対応した曜日が表示されます。
「関数は難しそう…」と感じる方も多いですが、 実際に覚えるのはこの形だけで十分です。
日本語で曜日を表示する方法(月・火・水…)
日本語の曜日を表示したい場合は、表示形式に「ddd」または「dddd」を指定します。
- “ddd” → 月 / 火 / 水 …
- “dddd” → 月曜日 / 火曜日 / 水曜日 …
具体例はこちらです。
=TEXT(A1, “ddd”)
=TEXT(A1, “dddd”)
表示形式を変えるだけで、見た目が変わるのは便利ですよね。
曜日を文字で出したい場合、WEEKDAY関数は不要です。 TEXT関数だけで完結します。
英語表記の曜日を表示する方法(Mon / Monday)
英語の曜日を表示したい場合も、基本は同じです。
- “ddd” → Mon / Tue / Wed …
- “dddd” → Monday / Tuesday / Wednesday …
英語表記になるかどうかは、Excelの表示言語設定に依存します。
日本語版Excelでも、環境によっては英語表記になることがありますが、 その場合は意図した表示かどうかを一度確認してみてくださいね。
曜日表記がずれる・表示されない原因
TEXT関数を使っても曜日がうまく表示されない場合、 多くは次のどれかが原因です。
- 日付が文字列として入力されている
- セルの表示形式と関数の役割を混同している
- 入力している値が正しい日付になっていない
特に多いのが、 「見た目は日付だが、実際は文字列」というケースです。
この場合、TEXT関数は正しく動きません。
次の章では、 曜日を数値として扱う方法を解説します。 条件判定や集計に使いたい方は、ここが重要になりますよ。
曜日を数値で取得する方法
曜日を条件判定や集計に使いたい場合は、 文字ではなく数値として曜日を扱う必要があります。
このときに使うのが、WEEKDAY関数です。
「表示」ではなく「判定・計算」に使うなら、WEEKDAY関数 と覚えておくと分かりやすいですね。
WEEKDAY関数の基本構文と仕組み
WEEKDAY関数は、日付から曜日を数値(整数)として返します。
基本構文はこちらです。
=WEEKDAY(シリアル値, [種類])
- シリアル値:日付が入力されているセル
- 種類:曜日の割り当て方法(省略可)
例えば、A1セルに日付が入っている場合の基本形は次のとおりです。
=WEEKDAY(A1)
この式だけで、曜日を数値として取得できます。
戻り値の違い(1〜7 / 0〜6)の考え方
WEEKDAY関数で最も混乱しやすいのが、 「種類」引数による戻り値の違いです。
代表的な設定は次の2つです。
| 種類 | 戻り値 | 意味 |
|---|---|---|
| 省略 または 1 | 1〜7 | 日曜=1、月曜=2、…土曜=7 |
| 2 | 1〜7 | 月曜=1、火曜=2、…日曜=7 |
実務でよく使われるのは、種類=2です。
月曜を1として扱えるため、 平日・土日判定が直感的になります。
=WEEKDAY(A1, 2)
曜日番号を条件判定に使うケース
WEEKDAY関数は、IF関数などと組み合わせることで真価を発揮します。
例えば、土日かどうかを判定したい場合は次のように書けます。
=IF(WEEKDAY(A1,2)>=6,”土日”,”平日”)
この式では、
- 6(土曜)・7(日曜) → 土日
- 1〜5 → 平日
という判定を行っています。
一度この考え方が分かると、 曜日を条件にした処理が一気に楽になりますよ。
次は、TEXT関数とWEEKDAY関数を どう使い分ければいいかを整理していきます。
TEXT関数とWEEKDAY関数の使い分け
曜日を扱う方法として、TEXT関数とWEEKDAY関数の2つを見てきましたが、 「結局どっちを使えばいいの?」と迷う方も多いですよね。
ここでは、目的別にどちらを選ぶべきかを、 実務目線で整理していきます。
見た目として曜日を表示したい場合
カレンダーや勤怠表など、 画面上に曜日を表示したいだけであれば、TEXT関数一択です。
理由はシンプルで、
- 文字としてそのまま表示できる
- 表示形式を柔軟に切り替えられる
- 追加の変換が不要
例えば、次の式だけで曜日表示は完結します。
=TEXT(A1,”ddd”)
曜日を「見せる」だけなのに、 WEEKDAY関数で数値を出してから変換する必要はありません。
表示目的なら、TEXT関数を使う方がシンプルです。
計算・判定・集計に曜日を使いたい場合
一方で、曜日を条件にして処理を分けたい場合は、 WEEKDAY関数が適しています。
例えば、
- 土日だけ色を変えたい
- 平日だけ集計したい
- 特定の曜日を除外したい
こうした処理は、文字列よりも数値の方が圧倒的に扱いやすいんですよね。
代表的な例はこちらです。
=IF(WEEKDAY(A1,2)>=6,”土日”,”平日”)
条件判定を伴う場合は、 WEEKDAY関数が基本と考えて問題ありません。
両者を組み合わせて使う実務パターン
実務では、TEXT関数とWEEKDAY関数を 組み合わせて使うケースも少なくありません。
例えば、
- 内部処理:WEEKDAY関数で曜日を判定
- 表示用:TEXT関数で曜日を文字表示
という役割分担です。
このように考えると、
- TEXT関数:見せるため
- WEEKDAY関数:判断するため
と整理すると覚えやすいですよ。
次は、実務でよく使われる 曜日の具体的な活用例を見ていきましょう。
実務でよく使う曜日の活用例
ここまでで、曜日を文字と数値の両方で扱う方法を見てきました。 ここからは、それらを実務でどう使うかに焦点を当てていきます。
「仕組みは分かったけれど、実際の業務ではどう使えばいいの?」 と感じている方にとって、イメージしやすい例を紹介しますね。
土日判定を行う方法
曜日関数の中でも、特に使用頻度が高いのが土日判定です。
A1セルに日付が入っている場合、 土日かどうかを判定する代表的な式はこちらです。
=IF(WEEKDAY(A1,2)>=6,”土日”,”平日”)
この式では、
- 月曜〜金曜(1〜5)→ 平日
- 土曜・日曜(6・7)→ 土日
という判定を行っています。
勤怠表やスケジュール管理では、 この形をそのまま使える場面が非常に多いですよ。
特定の曜日だけを抽出・判定する方法
「水曜日だけ処理を変えたい」 「月曜日のデータだけ集計したい」 といったケースもありますよね。
例えば、月曜日だけを判定したい場合は次のように書けます。
=IF(WEEKDAY(A1,2)=1,”月曜”,””)
また、複数の曜日をまとめて判定したい場合は、 OR関数と組み合わせると便利です。
=IF(OR(WEEKDAY(A1,2)=1,WEEKDAY(A1,2)=3),”対象日”,””)
曜日を数値で扱っているため、 条件式がシンプルに書けるのが大きなメリットです。
勤怠表・シフト表での曜日活用例
勤怠表やシフト表では、 日付と曜日をセットで表示するケースがほとんどです。
例えば、
- A列:日付
- B列:曜日(表示用)
という構成であれば、 B列には次の式を入れておくと便利です。
=TEXT(A1,”ddd”)
これだけで、日付を変更しても曜日が自動更新されます。
さらに、土日だけ背景色を変えるなど、 条件付き書式と組み合わせることで、 見やすい管理表が作れますよ。
次は、曜日に関する よくあるトラブルとその対処法を整理していきます。
曜日に関するよくあるトラブルと対処法
曜日関数は便利ですが、 「式は合っているはずなのに、結果がおかしい」と感じる場面も少なくありません。
ここでは、実務で特につまずきやすいトラブルと、 その具体的な対処法を整理していきます。
日付が文字列になっている場合の対処
曜日が正しく表示されない原因で、最も多いのがこのケースです。
セルの見た目は日付でも、 実際には文字列として扱われていることがあります。
この状態では、TEXT関数やWEEKDAY関数は正しく動きません。
対処法としては、
- セルの表示形式を「日付」に変更する
- VALUE関数で数値に変換する
といった方法があります。
例えば、A1が文字列の日付の場合は次のように変換できます。
=VALUE(A1)
「見た目=日付」とは限らない という点は、覚えておくと安心ですよ。
表示形式と関数の混同によるミス
曜日が表示されているからといって、 それが関数の結果なのか、表示形式なのかを 混同してしまうケースもよくあります。
例えば、
- セルの表示形式で「曜日」を設定しているだけ
- 実際のセルの値は日付のまま
この状態で別の計算に使うと、 思ったような結果にならないことがあります。
曜日を条件に使いたい場合は、 表示形式ではなく関数で取得するようにしましょう。
地域設定・表示言語による違い
Excelの表示言語や地域設定によって、 曜日の表記が変わることもあります。
例えば、
- 日本語環境 → 月 / 火 / 水
- 英語環境 → Mon / Tue / Wed
といった違いです。
表示を統一したい場合は、 表示結果に依存せず、 数値として曜日を扱う設計にしておくとトラブルを避けやすくなります。
最後に、ここまでの内容を整理し、 Excelで曜日を扱う際の理解ポイントをまとめていきましょう。
Excelで曜日を扱うときの理解ポイントまとめ
ここまで、Excelで曜日を扱う方法について、 表示・判定・実務活用・トラブル対処まで一通り見てきました。
最後に、「結局どこを押さえておけば迷わないのか」という視点で、 重要なポイントを整理しておきましょう。
初心者がまず覚えるべき最小セット
Excelで曜日を扱ううえで、 最初からすべてを覚える必要はありません。
初心者の方がまず押さえるべきなのは、次の2点です。
- 曜日を表示したい → TEXT関数
- 曜日で判定・計算したい → WEEKDAY関数
例えば、
- =TEXT(A1,”ddd”) → 曜日を文字で表示
- =WEEKDAY(A1,2) → 曜日を数値で取得
この2つが使い分けられれば、 実務で困ることはほとんどありません。
「表示か」「判定か」で関数を選ぶ この基準だけ覚えておくと、迷いにくいですよ。
迷ったときの関数選択フロー
「どの関数を使えばいいか分からなくなった…」 そんなときは、次の流れで考えてみてください。
- ① 曜日を画面に見せたいか?
- はい → TEXT関数
- いいえ → 次へ
- ② 曜日で条件分岐・集計をしたいか?
- はい → WEEKDAY関数
この判断フローに沿って考えるだけで、 関数選びのミスはかなり減ります。
曜日関数は、一度理解してしまえば応用範囲が広く、 勤怠管理・スケジュール・集計など、 さまざまな場面で役立ちます。
まずは今回紹介した基本の形を、 実際のExcelファイルで試してみてくださいね。




