検索
連載

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

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

PC用表示 関連情報
Share
Tweet
LINE
Hatena
「Tech TIPS」のインデックス

連載目次

対象:Excel 2016/2019/2021/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
表示形式コードと曜日の表示形式の関係

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

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

 最初に日付を入力しよう。今日の日付ならば、セルを選択し、[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)
セルの書式設定で曜日が表示されるようになる。

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

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

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

オートフィルを使う

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

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

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

配列数式やスピルを使う

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

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

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

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

 表示形式コードを変更したい場合、「曜日」列のセルを選択し、数式内の表示形式コードを変更し、[Ctrl]+[Shift]+[Enter]キーで数式を確定すればよい。これで、「曜日」列の全て数式の表示形式コードが変更できる。

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

 Excel 2021/365の場合、配列数式の新機能「スピル」がサポートされているため、[Ctrl]+[Shift]+[Enter]キーで数式を確定する必要はない。

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

特定の曜日に色を付ける

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

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

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

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

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

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

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

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

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

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

更新履歴

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

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

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

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


Copyright© Digital Advantage Corp. All Rights Reserved.

ページトップに戻る