25
WEEKDAY関数で曜日によって表示を変更!
- 365
- web
- 2021
- 2019
- 2016
- 2013
- Web App
- 2011
- 2010
- 2007
- Starter

エクセルでスケジュール管理をしていると、日付から曜日を自動的に抽出・記載したいことはありませんか?エクセルのWEEKDAY関数を使った方法を解説いたします。
WEEKDAY関数で曜日を判断してみよう
エクセルでは、「WEEKDAY(ウィークデイ)関数」を使って、日付に対応する曜日を数字で表示させることができます。WEEKDAY関数では曜日に対しての「数字」が戻されるため、今回はステップアップで以前ご紹介した「IF(イフ)」関数を組み合わせて、曜日によって表示させる文字列を変える方法を解説します。更に条件付き書式を使って土日に色を付ける方法を解説いたします。
まずは、WEEKDAY関数の基本的な書式と機能について紹介します。
WEEKDAY関数の書式
WEEKDAY関数は次のように入力します。
=WEEKDAY(シリアル値,種類)
WEEKDAY関数は、シリアル値に対応した「曜日の数字」を、以下の種類のように表示します。種類は1~3、11~17で指定しますが、指定する種類によって、「戻り値の最初の数字や対応する曜日」が違います。
種類 | 戻り値 | ||||||
---|---|---|---|---|---|---|---|
1(省略可) | 1:日曜日 | 2:月曜日 | 3:火曜日 | 4:水曜日 | 5:木曜日 | 6:金曜日 | 7:土曜日 |
2 の場合 | 1:月曜日 | 2:火曜日 | 3:水曜日 | 4:木曜日 | 5:金曜日 | 6:土曜日 | 7:日曜日 |
3 の場合 | 0:月曜日 | 1:火曜日 | 2:水曜日 | 3:木曜日 | 4:金曜日 | 5:土曜日 | 6:日曜日 |
11 の場合 | 1:月曜日 | 2:火曜日 | 3:水曜日 | 4:木曜日 | 5:金曜日 | 6:土曜日 | 7:日曜日 |
12 の場合 | 1:火曜日 | 2:水曜日 | 3:木曜日 | 4:金曜日 | 5:土曜日 | 6:日曜日 | 7:月曜日 |
13 の場合 | 1:水曜日 | 2:木曜日 | 3:金曜日 | 4:土曜日 | 5:日曜日 | 6:月曜日 | 7:火曜日 |
14 の場合 | 1:木曜日 | 2:金曜日 | 3:土曜日 | 4:日曜日 | 5:月曜日 | 6:火曜日 | 7:水曜日 |
15 の場合 | 1:金曜日 | 2:土曜日 | 3:日曜日 | 4:月曜日 | 5:火曜日 | 6:水曜日 | 7:木曜日 |
16 の場合 | 1:土曜日 | 2:日曜日 | 3:月曜日 | 4:火曜日 | 5:水曜日 | 6:木曜日 | 7:金曜日 |
17 の場合 | 1:日曜日 | 2:月曜日 | 3:火曜日 | 4:水曜日 | 5:木曜日 | 6:金曜日 | 7:土曜日 |
WEEKDAY関数を入力するときは、[関数の挿入]ボタンをクリックして[関数の分類]で[日付/時刻]を選択すると、かんたんに入力できます。
また、関数ライブラリの[日付/時刻]からも選択できます。
実際にWEEKDAY関数を使うとどう表示されるか見てみましょう!
A列に日付の入った表を用意します。B列からK列にそれぞれの種類を指定した場合どう戻り値が表示されるか見ていきます。 分かりやすくするため、事前準備として日付に曜日が表示されるように書式を設定します。

1書式を変更するA列を選択します。

2設定画面の呼び出し方は、以下3つの方法があります。(どちらを選んでも同じ結果になります)
1. [ホーム]タブの[フォント]の設定をクリックする。
2. 書式設定したい日付のセルの上で右クリックし、
「セルの書式設定」をクリックします。
3. [ホーム]の[表示形式]-[その他の表示形式]を選択します。

3「セルの書式設定」の[表示形式]タブの[分類]からユーザー定義を選択し、[種類]に「yyyy"年"m"月"d"日"(aaa)」と入力します。
(補足) [表示形式]タブの[日付]で表示形式を選ぶこともできますが、ない場合はユーザー定義で設定します。
種類 | 表示結果 |
---|---|
yyyy/m/d | 2023/3/9 |
yyyy"年"m"月"d"日" | 2023年3月9日 |
yyyy/m/d(aaa) | 2023/3/9(木) |
yyyy"年"m"月"d"日"(aaa) | 2023年3月9日(木) |
yyyy/m/d(aaaa) | 2023/3/9(木曜日) |
yyyy/m/d aaaa | 2023/3/9 木曜日 |
yyyy/m/d ddd | 2023/3/9 Thu |
yyyy/m/d dddd | 2023/3/9 Thursday |

4日付の後に曜日が表示されました。
ここからはWEEKDAY関数を実際に入力してみます。
![セルE5をアクティブにし、[数式]タブの[関数の挿入]をクリックしている画面イメージ](images/case25_05.png)
5WEEKDAY関数を入力するセルE5をアクティブにし、[数式]タブの[関数の挿入]をクリックします。
![[関数の分類]で「日付/時刻」を選択し、[関数名]で「WEEKDAY」を選択して、[OK]ボタンをクリックしている画面イメージ](images/case25_06.png)
6[関数の分類]で「日付/時刻」を選択し、[関数名]で「WEEKDAY」を選択して、[OK]ボタンをクリックします。

7引数の[シリアル値]に「A5」を入力し、[種類]に「1」を入力して、[OK]ボタンをクリックします。 ※ここでは入力しましたが、[種類]の1のみ省略可能です。

72023年4月1日の曜日が「7」と表示されました。これは「土曜日」に相当します。
同じようにC5からK5セルには種類を以下のように置き換えて入力していきます。
=WEEKDAY($A5,種類)
C5 | D5 | E5 | F5 | G5 | H5 | I5 | J5 | K5 |
---|---|---|---|---|---|---|---|---|
2 | 3 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |

9WEEKDAY関数で指定した種類に対応する曜日の数字が求められました。
ステップアップ:WEEKDAY関数の数字はどのように使えばいいの?
WEEKDAY関数は曜日を数字で表示しますが、数字を見ただけでは曜日がピンときません。実は、この数字は他の関数や数式と組み合わせて利用して、曜日ごとに違う表示をさせる場合などに便利です。 ここではエクセル関数の便利帳第5回でご紹介した「IF」関数を組み合わせて、WEEKDAY関数で土曜日(6)と日曜日(7)なら「お休み」という文字列を表示させます。
式の例:
=IF(WEEKDAY(A5,2)>=6,"お休み","")
「土曜日と日曜日」が連続した数字となる「種類2」を指定して、 土曜日が「6」、日曜日が「7」と返される特性を利用して、返り値が6以上ならお休みと表示させます。
種類 | 戻り値 | ||||||
---|---|---|---|---|---|---|---|
1(省略可) | 1:日曜日 | 2:月曜日 | 3:火曜日 | 4:水曜日 | 5:木曜日 | 6:金曜日 | 7:土曜日 |
2 の場合 | 1:月曜日 | 2:火曜日 | 3:水曜日 | 4:木曜日 | 5:金曜日 | 6:土曜日 | 7:日曜日 |
3 の場合 | 0:月曜日 | 1:火曜日 | 2:水曜日 | 3:木曜日 | 4:金曜日 | 5:土曜日 | 6:日曜日 |
11 の場合 | 1:月曜日 | 2:火曜日 | 3:水曜日 | 4:木曜日 | 5:金曜日 | 6:土曜日 | 7:日曜日 |
12 の場合 | 1:火曜日 | 2:水曜日 | 3:木曜日 | 4:金曜日 | 5:土曜日 | 6:日曜日 | 7:月曜日 |
13 の場合 | 1:水曜日 | 2:木曜日 | 3:金曜日 | 4:土曜日 | 5:日曜日 | 6:月曜日 | 7:火曜日 |
14 の場合 | 1:木曜日 | 2:金曜日 | 3:土曜日 | 4:日曜日 | 5:月曜日 | 6:火曜日 | 7:水曜日 |
15 の場合 | 1:金曜日 | 2:土曜日 | 3:日曜日 | 4:月曜日 | 5:火曜日 | 6:水曜日 | 7:木曜日 |
16 の場合 | 1:土曜日 | 2:日曜日 | 3:月曜日 | 4:火曜日 | 5:水曜日 | 6:木曜日 | 7:金曜日 |
17 の場合 | 1:日曜日 | 2:月曜日 | 3:火曜日 | 4:水曜日 | 5:木曜日 | 6:金曜日 | 7:土曜日 |
実際に入力してみます。
![セルB5をアクティブにし、[数式]タブの[関数の挿入]をクリックしている画面イメージ](images/case25_11.png)
1IF関数を入力する、セルB5をアクティブにし、[数式]タブの[関数の挿入]をクリックします。
![[関数の分類]で「論理」を選択し、[関数名]で「IF」を選択して、[OK]ボタンをクリックしている画面イメージ](images/case25_12.png)
2[関数の分類]で「論理」を選択し、[関数名]で「IF」を選択して、[OK]ボタンをクリックします。
![[論理式]でセル「WEEKDAY(A5,2)>=6」を入力し、[真の場合]に「"お休み"」、[偽の場合]に「""」を入力して、[OK]ボタンをクリックしている画面イメージ](images/case25_13.png)
3引数の[論理式]で「WEEKDAY(A5,2)>=6」を入力し、[真の場合]に「"お休み"」、[偽の場合]に「""」を入力して、[OK]ボタンをクリックします。

4IF関数とWEEKDAY関数の組み合わせた式をセルB34までコピーします。
WEEKDAY関数は、日付に対応する曜日を数字で表示させることができる関数です。WEEKDAY関数で求められる曜日に対応した数字は、IF関数の条件と組み合わせると、特定の曜日に文字列を表示させることができるようになり、利用範囲が広がります。
ステップアップ2:WEEKDAY関数と条件付き書式を使って土日に色をつけてみよう!
ステップアップの「WEEKDAY(A5,2)>=6」式を応用して、カレンダーの曜日の色を変える方法を解説いたします。
1か月のカレンダーを用意しました。条件付き書式を使って土日に色つけていきたいと思います。
(補足) B列にはA列と同じデータを入力し、WEEKDAY関数の書式でご紹介したセルの書式設定で、表示形式をユーザー定義の種類で「aaa」と指定し、曜日のみ表示させています。

1A列とB列の土日の部分に色を付けたいと思います。
セルA4からB33を選択します。「ホーム」タブの[スタイル]の[条件付き書式]から[新しい書式]をクリックします。

2ルールの種類を [数式を使用して、書式を設定するセルを決定] を選択し、ルールの内容に「=WEEKDAY(A4,2)>=6」と入力したら、[書式]をクリックします。

3セルの書式設定の「塗りつぶし」タブを選択し、色を選択し「OK」をクリックします。

4プレビューに表示されている状態が設定後の書式です。
設定できたことを確認し、「OK」をクリックします。

5土曜日と日曜日に色を付けることができました。
(補足)うまく反映されていない場合は
「ホーム」タブの[スタイル]の[条件付き書式]から[ルールの管理]をクリックします。
![ホーム」タブの[スタイル]の[条件付き書式]から[ルールの管理]を開いている画面イメージ](images/case25_20.png)
適用先が$A4$:$B$33になっていること確認し「OK」をクリックします。
ルールに入力した「=WEEKDAY(A4,2)>=6」セルA4と 範囲指定した先頭のセルA4がマッチしていることもポイントです。
ステップアップ3:WEEKDAY関数と条件付き書式を使って土曜日と日曜日で色分けをしてみよう!
ステップアップ2で使ったカレンダーを使って、土曜日と日曜日で色分けします。
ここでは省略可能な「種類1」を使います。

1A列とB列の土曜日を青、日曜日は赤と色を付けたいと思います。
セルA4からB33を選択します。「ホーム」タブの[スタイル]の[条件付き書式]から「新しい書式」をクリックします。
![ルールの種類を [数式を使用して、書式を設定するセルを決定] を選択し、ルールの内容に「=WEEKDAY(A4)=7」と入力したら、[書式]をクリックしている画面イメージ](images/case25_21.png)
2ルールの種類を [数式を使用して、書式を設定するセルを決定] を選択し、ルールの内容に「=WEEKDAY(A4)=7」と入力したら、[書式]をクリックします。

3土曜日に設定したい色を選択します。
セルの書式設定の「フォント」タブを選択し、色を選択し「OK」をクリックします。

4設定できたことを確認し、「OK」をクリックします。

5土曜日の色が変わりました。
今度は日曜日の色を変えます。同じように、セルA4からB33を選択し、「ホーム」タブの[スタイル]の[条件付き書式]から「新しい書式」をクリックします。
![ルールの種類を [数式を使用して、書式を設定するセルを決定] を選択し、ルールの内容に「=WEEKDAY(A4)=1」と入力したら、[書式]をクリックしている画面イメージ](images/case25_25.png)
6ルールの種類を [数式を使用して、書式を設定するセルを決定] を選択し、ルールの内容に「=WEEKDAY(A4)=1」と入力したら、[書式]をクリックします。
セルの書式設定の「フォント」タブを選択し、日曜日に設定したい色を選択し「OK」をクリックします。
設定できたことを確認し、「OK」をクリックします。

7土曜日と日曜日のそれぞれに色がついたと思います。
この記事をシェアする

人気記事
エクセル関数
1. 数学・三角関数
2. 論理関数
3. データベース関数
4. 検索・行列関数
5. 文字列関数
- ASC関数
- CONCATENATE関数
- CONCAT関数
- JIS関数
- LEFT / RIGHT関数
- LOWER関数
- MID関数
- PROPER関数
- PHONETIC関数
- REPT関数
- SUBSTITUTE関数
- TEXT関数
- TEXTJOIN関数
- TRIM関数
- UPPER関数
6. 統計関数
7. 日付と時刻
- DATE関数
- DATEDIF関数
- DATESTRING関数
- DATEVALUE関数
- EDATE関数
- EOMONTH関数
- HOUR / MINUTE関数
- MONTH関数
- TODAY関数
- NOW関数
- WEEKDAY関数
- WORKDAY関数
- WORKDAY.INTL 関数
- YEAR 関数
8. 情報
9. 財務
