Excel 日付から曜日を自動表示する方法

2020年5月8日

Excelで曜日を手入力以外で自動表示する方法は主に3つあります。

  1. オートフィルによる単純なコピー
  2. ユーザ定義書式
  3. 関数

オートフィル

固定の日付が連続して並んでいる場合のみ有効な方法です。

オートフィル前
IFNA関数を使用し、VLOOKUP関数で見つからない場合のみ対処している例

最初の日付の曜日を調べて入力し、そのセルをオートフィルします。

オートフィル後
オートフィル後

このように1日づつ、曜日をズラしながらコピーされます。

ユーザ定義書式

日付セルに書式設定をすることで曜日を表示する方法です。

この方法は手間が少ない代わりに表現の形式が制限されます。

またフィルターや関数の引数に用いると

曜日ではなく日付として扱われる点にも注意が必要です。

設定方法

設定したい日付セルを選択し、「セルの書式設定」を選択します。

セルの書式設定

「表示形式」>「ユーザ定義」を選択し、種類の中に下記の文字列を入力します。

種類表示
aaa月 火 水 木 金 土 日
aaaa月曜日 火曜日 水曜日 木曜日 金曜日 土曜日 日曜日
dddMon Tue Wed Thu Fri Sat Sun
ddddMonday Tuesday Wednesday Thursday Friday Saturday Sunday
表示形式-ユーザー定義
表示サンプル

(aaa)やyyyy/mm/dd(aaa)のように組み合わせて使用することも可能です。

関数

TEXT関数による方法

=TEXT(値,表示形式)

表示形式はユーザ定義書式と同じものを指定します。

WEEKDAY関数+VLOOKUP関数による方法

WEEKDAY関数と他の関数を組み合わせることで実現可能です。

他の方法よりも手間はかかりますが表現を柔軟に設定できます。

また日付としては扱われないため、フィルターや関数の引数として有効に用いることが可能です。

設定方法

WEEKDAY関数は曜日に対応する数字を返すものです。

曜日表示しようとする場合、これと他の関数を併用する必要があります。

併用する関数には幾つか候補がありますが

ここではVLOOKUP関数を使用します。

(XLOOKUP関数でも同様に可能です)

VLOOKUP関数は表の検索を行う関数です。

まず曜日の数字に対する結果の表を作ります。

今回はWEEKDAY関数の種類に1(或いは指定なし)とした場合を想定して作成します。

なおVLOOKUP関数の検索キーとなるのは一番左の列だけです。

対応表
対応表

下記のような式を作ります。

=VLOOKUP(WEEKDAY(日付セル),曜日のシート!B~D列,表示したいカラムの位置,FALSE)
=XLOOKUP(WEEKDAY(日付セル),曜日のシート!値列の値範囲,表示したいカラムのセル範囲,FALSE)

検索範囲のセル指定は$で固定しておきましょう。

このような式にしておくと、コピーやオートフィルで下方向に複製しても正常に使用できます。

この方法であれば、どのようにでも表現できるため休みなど曜日以外のものを表示しても構いません。

関数表示のサンプル

関連記事

和暦を表示する方法

XLOOKUP(VLOOKUP)関数の使い方・活用方法の記事一覧