Excelで日付から自動的に曜日を入力するTech TIPS

Excelで日付から自動的に曜日を計算してセルに入力する方法を紹介する。別のセルに表示する方法と、日付を入力したセルに曜日を追加する方法があるので、目的に合わせて使い分けるとよい。また、連続した日付を簡単に入力する方法についても紹介しよう。

» 2025年05月12日 05時00分 公開
[小林章彦デジタルアドバンテージ]
「Tech TIPS」のインデックス

連載目次

対象:Excel 2016/2019/2021/2024/365

Excelで曜日を自動入力する Excelで曜日を自動入力する
曜日を入力したい場合、カレンダーで曜日を調べて、それを見ながらセルに手で入力するのは、面倒だし間違えの原因にもなる。Excelの機能を使って曜日を自動入力するようにしよう。

 見積書や報告書などに日付を入力した際、曜日も入力したいこともあるだろう。そのような場合、いちいちカレンダーで曜日を確認して、セルに入力するのは面倒だ。入力した日付に合わせて、曜日が自動的に入力されると曜日の間違えも起きず便利である。

 そこで、本Tech TIPSでは日付に合わせて曜日を自動入力させる方法を紹介する。

TEXT関数を使って日付から曜日を表示する

 Excelで入力した日付から曜日を自動的に入力する際には、TEXT関数を使う。例えば、「A2」セルに日付を入力し、「B2」セルに曜日を表示したい場合、「B2」セルに以下のように入力するとよい。

=TEXT(A2,"aaaa")

TEXT関数による曜日出力

 これで自動的に「B2」セルに日付に対応する曜日が入力できる。

TEXT関数による曜日の入力手順 TEXT関数による曜日の入力手順
曜日を入力したいセルを選択し、日付の入ったセルを参照するTEXT関数を入力する。どのような形式で曜日を表示するかは、表示形式コードで指定する。

 TEXT関数の「"aaaa"」の部分(表示形式コード)を下表のように変えれば、曜日の表示形式が変更できる。なお、オプションを「()」で囲うと「(月)」や「(Mon)」、「{}」で囲うと「{月}」、「{Mon}」といった形式でも表示可能だ。

表示形式コード 曜日の表示形式
aaa 月、火、水、木、金、土、日
aaaa 月曜日、火曜日、水曜日、木曜日、金曜日、土曜日、日曜日
ddd Mon、Tue、Wed、Thu、Fri、Sat、Sun
dddd Monday、Tuesday、Wednesday、Thursday、Friday、Saturday、Sunday
表示形式コードと曜日の表示形式の関係

CHOOSE関数とWEEKDAY関数を使って日付から曜日を表示する

 TEXT関数では、曜日の表示形式が「表示形式コード」で指定可能なものに限定される。例えば、「日曜日」は「日曜日(定休日)」などとしたい場合、「(定休日)」を表示するために別の列を用意しなければならない。

 このように特定の曜日のみ異なる表示にしたいような場合、CHOOSE関数とWEEKDAY関数を組み合わせるとよい。例えば、「A2」セルに日付を入力し、「B2」セルに曜日を表示したい場合、「B2」セルに以下のように入力するとよい。

=CHOOSE(WEEKDAY(A2),"日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日")

CHOOSE関数とWEEKDAY関数による曜日出力

 WEEKDAY関数は、日付に対する曜日が「1」から「7」までの数値で返されるというものだ。例えば、日曜日ならば「1」となる。

曜日 日曜 月曜 火曜 水曜 木曜 金曜 土曜
数値 1 2 3 4 5 6 7
WEEKDAY関数の曜日と数値の関係

 一方、CHOOSE関数の書式は以下のようになっており、<インデックス>に対応した値を返すもので、例えば<インデックス>の値が「1」の場合は「値1」が返される。上記の数式では、WEEKDAY関数を<インデックス>として、対応する「日曜日」などの値を返すことで、曜日が入力できる。

CHOOSE(<インデックス>, 値1,[値2],[値3]……)

CHOOSE関数の書式

 CHOOSE関数の値の部分は、数値や文字列などが設定できるので、曜日を記号で示すといった柔軟な対応が可能だ。

CHOOSE関数による曜日の入力手順(1) CHOOSE関数による曜日の入力手順(1)
曜日を入力したいセルを選択し、日付の入ったセルを参照するCHOOSE関数を入力する。どのような形式で曜日を表示するかは、WEEKDAY関数の後ろに文字列で指定する。
CHOOSE関数による曜日の入力手順(2) CHOOSE関数による曜日の入力手順(2)
WEEKDAY関数の後ろに文字列を変更すれば、自由に表示形式が設定できる。特定の曜日のみ「(定休日)」などとすることも可能だ。

セルの書式設定を使って1つのセルに日付と曜日を表示する

 TEXT関数やCHOOSE関数を使う場合、曜日を別のセルに入力する必要がある。日付と同じセルに曜日も入力したい場合は、「セルの書式設定」を使えばよい。

 最初に日付を入力しよう。今日の日付ならば、セルを選択し、[Ctrl]+[;(セミコロン)]キーを押せば入力できる。

 次に日付を入力したセルを選択し、[Ctrl]+[1]キーを押す(右クリックメニューから[セルの書式設定]を選択するか、[ホーム]タブの[数値]グループにある[数値の書式]の右脇の[▼]部分をクリックし、プルダウンリストの一番下にある[その他の表示形式]を選択してもよい)。

 [セルの書式設定]ダイアログが開くので、[表示形式]タブの「分類」で「ユーザー定義」を選択し、「種類」で「yyyy/m/d aaa」や「yyyy/m/d(aaa)」(「aaa」の部分は上記の表示形式コードと同じ)と入力すればよい。

1つのセルに日付と曜日を表示する(1) 1つのセルに日付と曜日を表示する(1)
日付と同じセルに曜日を表示したい場合は、セルの書式設定を使う。[セルの書式設定]ダイアログが表示されたら、[表示形式]タブを開き、「分類」欄で[ユーザー定義]を選択し、「種類」を「yyyy"年"m"月"d"日" aaaa」に編集する(日付の表示形式は好みのものを選択してから「aaaa」などを追記するとよい)。
1つのセルに日付と曜日を表示する(2) 1つのセルに日付と曜日を表示する(2)
セルの書式設定で曜日が表示されるようになる。

オートフィルや配列数式を使って曜日を自動入力する

 日次の売上表や予定表など、連続した日付のある表に曜日を入力したいこともあるだろう。このような場合、一つ一つセルを選んでTEXT関数を入力したり、書式設定したりするのは面倒だ(日付の入力自体も面倒だろう)。

 このような場合、オートフィルや配列数式、スピルを利用するとよい。

オートフィルを使う

 先頭の日付を1つ入力し、そのセルを選択後、セルの右下にマウスポインターをホバーする(重ねる)と、マウスポインターが+字に変わるはずだ。この状態で、自動入力させたい方向に自動入力したいセルの位置までマウスをドラッグすればよい。これで、続きの日付が自動入力できる。セルの書式設定なども同時にコピーされるので、わざわざ日付を手動で一つ一つ入力してから、TEXT関数で曜日を入力したり、セル書式を設定したりする必要はない。

 オートフィルによるコピーは、TEXT関数とCHOOSE関数、セルの書式設定で利用可能だ。

オートフィルを使って曜日を自動入力する(1) オートフィルを使って曜日を自動入力する(1)
上述の方法で曜日を入力したら、オートフィルを使って他のセルにもコピーしよう。日付を入力したセルを選択し、マウスポインターをセルの右下に重ねて、ポインターが+字になったら、そのまま日付を入力したいセルまでドラッグする。
オートフィルを使って曜日を自動入力する(2) オートフィルを使って曜日を自動入力する(2)
オートフィルにより、日付が1日ずつ足されて自動入力される。日付を1つ入力するだけなので、入力の手間が大幅に省ける。

配列数式やスピルを使う

 オートフィルで数式をコピーした後に曜日などの表示形式などを変更する場合、先頭セルのTEXT関数やCHOOSE関数を直し、これを再びオートフィルでコピーする必要がある。

オートフィルでコピーすると修正時に再コピーが必要 オートフィルでコピーすると修正時に再コピーが必要
オートフィルでTEXT関数やCHOOSE関数をコピーした場合、表示形式コードを修正すると、再びオートフィルによるコピーが必要になる。

 TEXT関数やCHOOSE関数を使って、別の列に曜日を表示する場合、配列数式やスピル(Excel 2021/2024/365のみ)を使えば、修正は先頭のセルのみで済む(配列数式についてはTech TIPS「Excelの配列数式で合計を一発で計算する方法」、スピルについてはTech TIPS「答え一発! 配列数式 Excelの『スピル』とは?」を参照のこと)。

 最初に「日付」列に日付を入力しておき、次に「曜日」列のセルに以下の数式を入力すればよい(スピルに対応していない場合は、[Ctrl]+[Shift]+[Enter]キーを押して配列数式に指定する)。これでスピルや配列数式として数式が確定し、「曜日」列のTEXT関数やCHOOSE関数で指定したセル範囲に対して曜日が入力される(配列数式としてセルに数式が入力される)。

=TEXT(A2:A32,"aaaa")
=CHOOSE(WEEKDAY(A2:A32),"日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日")

スピルや配列数式として曜日を入力する数式

 TEXT関数で表示形式コードを変更したい場合、「曜日」列のセルを選択し、数式内の表示形式コードを変更すればよい(配列数式の場合は、[Ctrl]+[Shift]+[Enter]キーで数式を再度確定する必要がある)。これで、「曜日」列の全て数式の表示形式コードが変更できる。CHOOSE関数の場合は、値の文字列を変更すれば、自動的にセル範囲に反映される。

スピルを使って曜日を入力する(1) スピルを使って曜日を入力する(1)
曜日を入力したいセルを選択して、TEXT関数を入力する。この際、日付を参照している部分は、日付のセル範囲を指定しておく。スピルの場合は、これでセル範囲に対する曜日が入力される。配列数式の場合は、[Ctrl]+[Shift]+[Enter]キーで数式を確定する必要がある。間違って[Enter]キーを押してしまったら、TEXT関数を入力したセルを再選択してから[Ctrl]+[Shift]+[Enter]キーを押して、配列数式として確定すればよい。
スピルを使って曜日を入力する(2) スピルを使って曜日を入力する(2)
スピルの場合、1つのセルを修正すれば、全てのセルに反映される。配列数式の場合は、[Ctrl]+[Shift]+[Enter]キーを押して確定する必要がある。1つのセルの修正で、セル範囲に修正が反映されるため非常に楽である。

 スピルや配列関数は、数式のみに適用できる機能のため、セルの書式設定を使って同じセルに日付と曜日を表示したい場合には使えない点に注意してほしい。

特定の曜日に色を付ける

 土曜日や日曜日を分かりやすくするように、文字色やセルの背景色を変更したい場合もあるだろう。このような場合、「条件付き書式」を利用し、特定の条件に合致した場合に設定される書式を適用するとよい。

 具体的には、日付の入力されたセルを含む色を付けたいセル範囲を選択し、[ホーム]タブの[スタイル]グループにある[条件付き書式]をクリックし、メニューから[新しいルール]を選択する。

 [新しい書式ルール]ダイアログが開くので、「ルールの種類を選択してください」欄で[数式を使用して、書式設定するセルを決定]を選択する。「ルールの内容を編集してください」欄の「次の数式を満たす場合に値を書式設定」の入力ボックスに以下の式を入力する。

=WEEKDAY(<日付の入った最初のセル>)=<曜日の数値>

「次の数式を満たす場合に値を書式設定」の入力ボックスに入力する式

 WEEKDAY関数の<曜日の数値>は、CHOOSE関数で曜日を指定する方法で述べた通りで、各曜日に「1」から「7」までの数値が割り当てられている。そこで、色付けしたい曜日の数値を指定すればよい。例えば、日曜日ならば「1」を指定する。

 式の入力が済んだら、プレビュー欄の右側にある[書式]ボタンをクリックして、上記の数式に合致した場合に反映したい書式を設定する。これで、指定した曜日に対して、設定した書式設定が反映されるため、フォントや背景に色を付けることができる。

特定の曜日に色を付ける(1) 特定の曜日に色を付ける(1)
日付が入力されたセル範囲を選択し、[条件付き書式]-[新しいルール]を選択する。
特定の曜日に色を付ける(2) 特定の曜日に色を付ける(2)
[新しい書式ルール]ダイアログが開くので、「ルールの種類を選択してください」欄で[数式を使用して……]を選択する。「次の数式を……」の入力ボックスにWEEKDAY関数を入力してから、[書式]ボタンをクリックする。WEEKDAY関数の前に「=(イコール)」を忘れないようにすること。
特定の曜日に色を付ける(3) 特定の曜日に色を付ける(3)
[セルの書式設定]ダイアログが開くので、[フォント]タブでフォントの色を指定する。セルの背景色を変更したい場合は、[塗りつぶし]タブを開いて指定する。
特定の曜日に色を付ける(4) 特定の曜日に色を付ける(4)
日曜日だけフォントが赤色に設定された。他の曜日に対しても特定の色を設定したい場合は、同様の手順で曜日の数値を指定して、セルの書式設定を行えばよい。

 日付を延長したい場合は、最後のセルを選択し、上述のオートフィルの要領でドラッグすれば、この条件付き書式で設定した内容を含んで自動入力が行われる。配列数式やスピルを使っている場合は、TEXT関数やCHOOSE関数で指定したセル範囲を広げればよい。

更新履歴

【2025/05/12】CHOOSE関数を使う方法を追記しました。

【2023/10/23】配列数式やスピルを使って自動入力する方法を追記しました。

【2022/08/10】対象としてExcel 2021を加えました。

【2021/09/10】オートフィルを使う方法などを追記しました。

【2017/08/02】初版公開。

Copyright© Digital Advantage Corp. All Rights Reserved.

スポンサーからのお知らせPR

Windows Server Insider 鬮ォ�ェ陋滂ソス�ス�コ闕オ譁溷クキ�ケ譎「�ス�ウ驛「�ァ�ス�ュ驛「譎「�ス�ウ驛「�ァ�ス�ー

髫エ蟷「�ス�ャ髫エ魃会スス�・髫エ蟶キ�」�ッ闖ォ�」

注目のテーマ

4AI by @IT - AIを作り、動かし、守り、生かす
Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。