Introduction
Ver. all 2013 2016 2019 2021 365
Excel(エクセル)で、日付に対する曜日を返すWEEKDAY関数を紹介します。
日付の場所を参照して、その日付の曜日を出してくれます。
もし、単純に日付の表示を曜日に変更したい場合は、表示形式を変更するだけで対応できます。下のリンク先をご覧ください。
エクセルの他の機能や関数と組み合わせて使用する時、このWEEKDAY関数は力を発揮します。
WEEKDAY関数・・・日付に対する曜日を返す(シリアル値を返す)
=WEEKDAY(シリアル値,種類[省略可])
- シリアル値・・・検索する日付の場所を指定
- 種類・・・週の基準となる戻り値の種類を変更する(省略可)
[シリアル値]の場所は、「2024/10/1」のように数字の間に「/」か「-」を入力して作成した日付や、DATE関数やTODAY関数を使用したものが使用できます。
シリアル値に関しては、下のリンク先で説明しています。
【ポイント】
結果を「〇曜日」とは表示してくれません。「0~7」までの数値で結果は返されます。
[種類]の場所を省略した場合、もしくは「1」を入力した場合は、週に応じて下のような数字が返されます。
1 日曜日 | 2 月曜日 | 3 火曜日 | 4 水曜日 | 5 木曜日 | 6 金曜日 | 7 土曜日 |
ほとんどの場合、[種類]の場所は省略して使用することが多いと思いますが、一応それ以外の数値を入力したときの例は下のようになります。
- 2・・・1(月曜)~7(日曜)
- 3・・・0(月曜)~6(日曜)
- 11・・・1(月曜)~7(日曜)
- 12・・・1(火曜)~7(月曜)
- 13・・・1(水曜)~7(火曜)
- 14・・・1(木曜)~7(水曜)
- 15・・・1(金曜)~7(木曜)
- 16・・・1(土曜)~7(金曜)
- 17・・・1(日曜)~7(土曜)
金曜日の夜はテンション上がるにゃ
WEEKDAY関数の使い方
では、下の場所に「B3」の曜日を表示してみます。
「C3」をクリックして、[関数の挿入]ボタン。
[関数の分類]を[日付/時刻]にすると探しやすいですよ。WEEKDAY関数は下の方にあります。
[シリアル値]には、「B3」をクリックで指定して、[種類]の場所は空欄のままにしましょう。入力する場合は「1」と入力。
[OK]をクリックすると、結果が「3」と表示されます。
さて、「3」とは何曜日でしょう。
[種類]の場所を、空欄もしくは「1」にすると下のように設定されるのでした。
1 日曜日 | 2 月曜日 | 3 火曜日 | 4 水曜日 | 5 木曜日 | 6 金曜日 | 7 土曜日 |
「3」は火曜日ですね。カレンダーで「2018/5/1」をチェックすると、確かに火曜日です。
数字を曜日に変更する方法
確かに曜日には変更できたのですが、「3」という数字のままでは困りますね。これを曜日の表示に変更するやり方を2つに分けて紹介します。
表示形式で曜日に変更する
最初のやり方は、関数を使用せずに表示形式を使用する方法です。
データの中身ではなく、見た目だけを「表示形式」機能の「ユーザー定義」設定を使用して変更します。
【注意】
WEEKDAY関数の[種類]に、空欄もしくは「1」を指定していないと正しく表示されません。
対象となるセルをクリックして、
[ホーム]タブ → [表示形式]起動ツールをクリック。場所が分かり難いので注意しましょう。
左側で1番下の[ユーザー定義]を選んで、[種類]の場所の「G/標準」の文字を削除して、
「aaaa」と入力します。
[OK]をクリックすれば、
表示形式(見た目)が「3」から「火曜日」に変更されます。
この表示形式は、入力する文字によって見た目を様々な種類に変更ができます。
下を参考にしてください。
分類 | 記号 | 使い方 | 結果 |
曜日 | ddd | 曜日を省略英語で表示する | Tue |
dddd | 曜日を英語で表示する | Tuesday | |
aaa | 曜日を省略和名で表示する | 火 | |
aaaa | 曜日を和名で表示する | 火曜日 |
関数で曜日に変更する
次は、関数を使用して表示を曜日に変更する方法です。
1~7までの数字を、それぞれ日曜日~土曜日に対応させれば良いので、様々な関数で対応できそうですね。
今回はIF関数と、CHOOSE関数と、TEXT関数を使用してみます。
IF関数を使用した例
IF関数・・・論理式に応じて、結果を2つに分岐することができる
=IF(論理式,真の場合,偽の場合)
- 論理式・・・条件式(論理式)を作成
- 真の場合・・・条件式を満たしている場合に欲しい結果を入力
- 偽の場合・・・条件式を満たしていない場合に欲しい結果を入力
エクセルを使い始めた方にとっては一番馴染みのある関数ですね。
このIF関数を下の表で使用すると、下のような長い式になってしまいます。
=IF(WEEKDAY(B3)=1,"日曜日",IF(WEEKDAY(B3)=2,"月曜日",IF(WEEKDAY(B3)=3,"火曜日",IF(WEEKDAY(B3)=4,"水曜日",IF(WEEKDAY(B3)=5,"木曜日",IF(WEEKDAY(B3)=6,"金曜日",IF(WEEKDAY(B3)=7,"土曜日","")))))))
「もし、日付の場所が「1」だったら「日曜日」と表示する、違う場合で同じ場所が「2」だったら・・・」
という感じ。
さすがに長すぎますね。
ちなみにIFS関数だと、
=IFS(WEEKDAY(B3)=1,"日曜日",WEEKDAY(B3)=2,"月曜日",WEEKDAY(B3)=3,"火曜日",WEEKDAY(B3)=4,"水曜日",WEEKDAY(B3)=5,"木曜日",WEEKDAY(B3)=6,"金曜日",WEEKDAY(B3)=7,"土曜日")
やっぱり長い・・・。
普段IF関数を使用していれば、仕組みが分かり易いという意味では良いのですが、おすすめはできません。
CHOOSE関数を使用した例
CHOOSE関数・・・指定した数字に応じて、[値]引数の内容を取り出してくれる
=CHOOSE(インデックス,値1,[値2],…)
- インデックス・・・数字を指定(1~254) 数式やセル参照など
- 値・・・インデックスで指定した数字に対して、取り出す内容を指定
このCHOOSE関数を使用すると、
=CHOOSE(WEEKDAY(B3),"日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日")
うん。すっきりしますね。
WEEKDAY関数で設定される数値に対応して曜日を入力する感じです。
曜日の表示名をオリジナルにしたい場合や、どうしてもデータとして曜日名が欲しい場合には役立ちます。
TEXT関数を使用した例
TEXT関数・・・表示形式を指定して、数値に書式設定を適用することができる
=TEXT(値,表示形式)
- 値・・・表示形式を変更する値(場所)を指定
- 表示形式・・・書式設定を指定(設定はダブルクォーテーションで囲む)
最後にTEXT関数を使用した例です。
この方法では、最初に説明した表示形式を関数で行うことになります。
=TEXT(B3,"aaaa")
[値]の場所には、日付のセルを指定して、[表示形式]の場所には表示したい表示形式を入力します。
表示形式の場所は、ダブルクォーテーション「””」を忘れないようにしましょう。
まとめ
最初にも書きましたが、曜日の表示が欲しいだけであれば、Excel(エクセル)で簡単に曜日を連続で表示する方法をご覧ください。
このWEEKDAY関数は、条件付き書式機能と組み合わせて使用する時などに便利に活用できます。
また、特別な理由が無ければ、表示形式で曜日の表示にするやり方が良いと思います。
後で見た目を英語表記などに変更できるのも魅力です。
関数を使用して曜日を表示する場合も、関数の種類を用途に応じて使い分けたいですね。
表示形式で変更するのが楽だにゃ