エクセルで日付を入力すると曜日も表示するようにできますか?
「TEXT関数」という関数を使えば簡単にできます。
当記事は 2008年公開で、2023年の最新関連記事があります。
エクセルには入力したデータを受け取って、それぞれ定義された処理を自動で行い、その結果を表示する「関数」と呼ばれる便利な数式が用意されています。300種類以上もあるのだそうです。
そんな中で、よく質問をいただくのが「日付」関連の関数です。まずは覚えておいて損のない関数としては、当日の日付が自動的に表示される「TODAY関数」です。早速、今日の日付を表示させたいセルに
=TODAY()
と入力してみましょう。いかがです?というほどシンプルな関数です。
次に、入力した日付が何曜日なのかを表示させたいときは「TEXT関数」を使います。たとえば「A1」というセルに「2008/4/1」と入力したときその隣のセル「B1」に
=TEXT(A1,"aaa")
と入力すると「B1」には「火」と表示されます。
セル「A1」に入力した日付を変えて、カレンダーで曜日が正しいか確認してみましょう。
A1 =TEXT(A1,"aaa")
2008/3/1 土
2008/4/1 火
ここで面白い(?)のは「"aaa"」の部分で表示される曜日の「形式」が設定できるのですが、以下のように形式を変えることができます。
aaa → 月、火、水...
aaaa → 月曜日、火曜日、水曜日...
(aaa) → (月)、(火)、(水)...
ddd → Mon、Tue、Wed...
dddd → Monday、Tuesday、Wednesday...
ここまで知っておけば「日付」を入力したセルの横に、その「日付」が何曜日になるのか自動で表示できる表を作ることができるはずです。
さらに曜日に応じてセルやフォントの色を変えたいときは、以下の記事を参考にしてください。
◆ エクセル(Excel)で日曜を赤など曜日別に自動で色を付ける
エクセルなら「条件付き書式」を使うのが定石です。
◆◇◆
ここからは雑学ですが、「日付」はひとつの整数として表現できます。
たとえば 1900/1/1 を 1 、1900/1/2 を 2、というようにカウントしていけば 2000/1/1 は 36526 、2008/4/1 は 39539 となり、どの日付にも固有の整数が定義できるわけです。
すると、この日付に対応した整数を7で割った「余り」を調べれば曜日も分かりそうだと気づくはずです。「余り」を計算するのは「MOD関数」なので、例えば「39539」を「7」で割った余り、つまり 2008/4/1 は
MOD(39539,7) = 3
となり、「余り」が「3」という結果から「火曜日」と分かる、つまり以下のような「余り」と「曜日」の対応表ができるのです。
曜日 日 月 火 水 木 金 土 余り 1 2 3 4 5 6 0
つまり「TEXT関数」では、「日付」を整数で処理し、7で割った「余り」から「曜日」を割り出し、それにあわせて指定した「表示形式」で曜日を表示させている、ということになります。
ついでに自分の誕生日は何曜日か、調べておくのも一興です。
◎追記(2014/9/13)
これも余談になりますが、エクセル(for Windows)では 1900/1/1 より前の日付には固有の整数(シリアル数)を定義していないため、計算に使うことができません。
- 1900 年と 1904 年の日付システムの違い - Office | Microsoft Learn
1900 年の日付システムでは、サポートされる最初の日は 1900年1月1日です。日付を入力すると、日付は 1900年1月1日の 1 から始まる経過日数を表すシリアル番号に変換されます。
また、実際には存在しない「うるう日」の 1900/2/29 を定義しているため、それ以前の曜日計算には1日分、ずれが生じており、1900/1/1 は日曜日ではなく、実際には月曜日です。
- Excel では、1900 年が閏年であると誤って想定されています - Office | Microsoft Learn
Microsoft Excel では、1900 年が閏年であると誤って想定されています。
1900年よりも前の日付を使った計算は、ほとんど行われないこともあり、このような設定のままになっています。
理解を深めるための「パソコン用語解説」
記事の情報は公開時あるいは更新時のもので、最新情報はリンク先など情報元の公式ページでご確認ください。