Microsoft Excel(エクセル)でカレンダーを作る時などは、日付から曜日を自動で入力(変換)すると便利です。
今回の記事では、日付から曜日を自動で入力する3つの方法を紹介します。
また、曜日は、下の図のように、(土)や土曜日やSat、など10パターンの曜日の表示が可能です。
下の図では、スラッシュ(/)を使って、「2024/7/2」と表示していますが、「2024年7月2日」という表示でも正しく曜日を表示できます。
エクセルで日付を入力する正しい方法
日付を使って曜日を自動入力する方法を紹介する前に少しだけ注意点があります。
それは、「どんな日付でも曜日に変換できるわけではない」ということです。
エクセルは、日付を6桁のシリアル値という特殊な数字で管理(例:2024/7/2であれば、シリアル値は45475)しているため、見た目だけ日付のように見えるセルは日付と判断されません。
例えば、「2024年7月2日」を表すために「20240702」とセルに入力しても、Excelはこの8桁の数字を日付とは判断しないので、このセルを曜日に変換するのは困難です。(後半の見出しで変換方法を紹介しています)
そのため、まずはエクセルで日付を入力する正しい方法を紹介します。
セルに日付を入力する基本的な方法は、下の2つのどちらかと考えてください。
- セル入力「2024/7/2」⇒セル表示「2024/7/2」
- セル入力「7/2」⇒セル表示「7月2日」
もし、「2024年7月2日」や「令和6年7月2日」など表示する方法を変更したい場合は、「セルの書式設定」を変更することで後で自由に表示を変更できます。
セルの書式設定で日付の表示方法を変更する方法は、こちらの記事を参考にしてね。
この後の見出しでは「2024/7/2」を例に紹介しますが、右クリックメニューの「セルの書式設定」画面から「令和6年7月2日」などに表示を変更しても、曜日の自動入力は問題なく行えますので安心してください。
日付から曜日を自動入力する方法① TEXT関数
それでは曜日を自動入力する1つ目の方法をご紹介します。
1つ目はTEXT関数(テキスト関数)を利用して、曜日を自動で入力する方法です。
TEXT関数は、数式の中に表示形式コード(書式記号)を指定することで、セルの数値の表示方法を曜日などの文字列として変換する関数です。
TEXT関数の構文(書式)と引数は以下です。
=TEXT(数値, 表示形式)
引数「数値」は日付の入力されたセルを指定し、引数「表示形式」には、”aaa"”aaaa"など4つの曜日の表示形式(書式記号)を入力します。
TEXT関数の基本から詳しく知りたい方は、下の見出しで紹介してますので、参考にしてください。
曜日を表示する表示形式コード(書式記号)は、「ddd」「dddd」「aaa」「aaaa」の4種類です。
👇曜日の表示形式コード
記号 | 説明 |
ddd | 英語の曜日の頭文字から 3 文字 (Sun~Sat) を表示します。 |
dddd | 英語の曜日 (Sunday~Saturday) を表示します。 |
aaa | 漢字で曜日の頭文字 (日~土) を表示します。 |
aaaa | 漢字で曜日 (日曜日~土曜日) を表示します。 |
それでは実際にTEXT関数を利用して曜日に変換する手順をご紹介します。
手順1.曜日の表示方法を決定する
曜日は、(水)や水曜日などいろいろな表示方法があります。下の表の「曜日」列の10パターンの曜日の中から、どのパターンを利用したいか決めて、対象のTEXT関数を次の手順で使ってください。
日付 | 曜日 | TEXT関数 |
2024/7/2 | 火 | =TEXT(セル番号,"aaa") |
2024/7/2 | (火) | =TEXT(セル番号,"(aaa)") |
2024/7/2 | 火曜日 | =TEXT(セル番号,"aaaa") |
2024/7/2 | Tue | =TEXT(セル番号,"ddd") |
2024/7/2 | (Tue) | =TEXT(セル番号,"(ddd)") |
2024/7/2 | Tuesday | =TEXT(セル番号,"dddd") |
2024/7/2 | 2024/7/2(火) | =TEXT(セル番号,"yyyy/m/d(aaa)") |
2024/7/2 | 7/2(火) | =TEXT(セル番号,"m/d(aaa)") |
2024/7/2 | 2024/7/2(Tue) | =TEXT(セル番号,"yyyy/m/d(ddd)") |
2024/7/2 | 7/2(Tue) | =TEXT(セル番号,"m/d(ddd)") |
手順2.TEXT関数を挿入する
”(火)”のように曜日を表示したい場合は、曜日を表示したいセルに「=TEXT(B3,"(aaa)")」と入力すると、()付で曜日が表示されます。
手順3.下のセルにもTEXT関数を挿入
曜日を入力したセルの右下にカーソルを合わせるとマウスのポインターが「+」と表示されますので、ダブルクリックもしくは下方向にドラッグ&ドロップすると、下のセルにもTEXT関数が挿入されます。(オートフィルの利用)
以上で曜日の入力は完了です。
補足説明
TEXT関数は文字列に変換する関数です。そのため、曜日に変換したセルを、別の関数で参照する場合はその関数の結果が上手く表示されない可能性があります。
シリアル値やTEXT関数の様々な使い方について詳しく学びたい方は、以下の記事を参考にしてください。
日付から曜日を自動入力する方法➁ セルの書式設定
2つ目に紹介する方法は「セルの書式設定」を利用した方法です。
「セルの書式設定」はセルの表示形式を変更する機能なので、関数は利用しません。
手順1.「曜日」列に日付のデータをコピぺする
「日付」列のデータを、隣の「曜日」列に貼り付けします。
手順2.セルの書式設定画面を開く
「曜日」列のデータを選択してから右クリックして、右クリックメニューから「セルの書式設定」を選択します。
手順3.セルの書式設定画面でユーザー定義を開く
「セルの書式設定」画面の表示形式タブの「ユーザー定義」をクリックし、「種類」の下の入力欄をクリックします。この入力欄に、セルの表示を変更するための表示形式コードを入力することで、曜日を表示させることができます。
手順4.曜日の表示方法を選択する
下のリストの中から、どのパターンの曜日を表示させたいか選んで、対象のユーザー定義をコピーして、手順3で指定した入力欄に貼り付けてください。
日付 | 曜日 | ユーザー定義 |
2024/7/3 | 水 | aaa |
2024/7/3 | (水) | (aaa) |
2024/7/3 | 水曜日 | aaaa |
2024/7/3 | Wed | ddd |
2024/7/3 | (Wed) | (ddd) |
2024/7/3 | Wednesday | dddd |
2024/7/3 | 2024/7/3(水) | yyyy/m/d(aaa) |
2024/7/3 | 7/3(水) | m/d(aaa) |
2024/7/3 | 2024/7/3(Wed) | yyyy/m/d(ddd) |
2024/7/3 | 7/3(Wed) | m/d(ddd) |
(火)のように表示したい場合の「ユーザー定義」は「(aaa)」なので、下の図のように「種類」の下の入力欄に「(aaa)」を入力します。設定が完了したら「OK」を押してください。
手順5.曜日の入力が完了
そうすると、セルの書式設定が変更されたことで、セルの表示が曜日に変更されました。セルに入力されている値は「2024/7/1」などの日付ですが、見た目が「(月)」に変換されている、という仕組みです。
以上で曜日入力は完了です。
日付から曜日を自動入力する方法③ オートフィル
3つ目に紹介する曜日入力の方法は、「オートフィル」の連続データを使った方法です。
Excel(エクセル)には、セルの右下にあるフィルハンドルというボタンを使って、「1,2,3、4・・・」や、「日、月、火、水・・・」などを連続データを入力するための「オートフィル」という自動入力機能が備わっています。
手順1.1つのセルだけ曜日を手入力
どのセルでもいいので1つのセルにだけ、「月、火、水、木、金、土、日」のどれかを入力します。
手順2.オートフィルを使って曜日を入力
曜日を入力したセルの右下の角にカーソルを合わせると、マウスのポインターが「+」の形に変わります。
その「+」を下方向にドラッグ&ドロップすると、曜日が自動で入力されます。同様に上方向にドラッグしても曜日を入力できます。(オートフィルの利用)
手順3.曜日の入力が完了
手順2の作業により、連続データを使用して曜日の入力が完成しました。
この連続データが使用できるのは、エクセルの連続データリストに初期登録されている為です。
そのため、今回は「月、火、水、木・・・」の入力方法を紹介しましたが、連続データリストに登録することで、「月曜日、火曜日、水曜日・・・」、「(月)、(火)、(水)、・・・」「Mon、Tue、Wed、・・・」でもオートフィルは利用出来ます。
もし、(月)、(火)、(水)・・・・など下のユーザー設定リスト以外の連続データを使用したい場合は、リストに登録する必要がありますので、以下のリンク記事を参照してください。
↓オートフィルの連続データを登録する方法
【応用編】年月から日付と曜日を自動入力する方法
日付と曜日の組み合わせは年月によって変化するので、そのたびに曜日の入力が合っているかチェックするのは大変です。
また、月末最終日は30日、31日、28日、29日(うるう年)の4パターンあり、月によって、無い日付や曜日を消すのも面倒です。
そんな時、IF関数をDAY関数などの数式と一緒に利用することで、下の2つの表のように、年月を入力することで、日付と曜日を自動入力することが可能です。
縦方向の日付入力
横方向の日付入力
この方法は、IF関数の中に複数の関数を利用するので一見複雑ですが、下の数式を張り付けて参照セルを変えるだけで完成するので、一度作ってしまえば、非常に便利です。
=IF(DAY(DATE($B$2,$D$2,ROW()-4))=ROW()-4,DATE($B$2,$D$2,ROW()-4),"")
以下の記事で作成方法を紹介していますので、興味のある方は参考にしてください。
8桁の数字を日付に変更する方法
曜日を入力するためのデータが、「20240702」のように8桁の数字の場合は、まずは日付データに変換する必要があります。
利用する機能は、①TEXT関数、②「区切り位置」機能、③DATE関数の3つのうちどれかを使用すれば、変換が可能です。
以下の記事で、詳しい手順を紹介していますので、日付データを作成したい方は参考にしてください。
(おまけ)エクセルで日付を入力するショートカットキー
日付の入力にはショートカットキーが存在します。
とはいっても、”今日”の日付限定ですが、「Ctrl」キーを押しながらセミコロン「;」キーを押すことで、今日の日付を「yyyy/m/d」の表示形式で入力することが出来ます。
「Ctrl」キー+コロン「:」キーで今の時刻「h:mm」を表示することが出来るので、セットで覚えておくと便利です。