- Home »
- エクセル関数の技 »
- 曜日を表示する(曜日を計算する)
更新:2024/3/10;作成:2012/5/10
シリアル値から曜日を表示する topへ
- 注意事項
細かいことで申し訳ありませんが、以下に書いている方法は1900/3/1以降で求めることができます。
Excelでは「1900/2/29」が存在しているため(実際は1900年は閏年ではありません)、1900/1/1〜2/29はズレを生じています。
1900/3/1より前の日付を扱う時は注意してください。
- 日付データから曜日を表示するにはいくつかの方法が考えられます。
- TEXT関数で表示形式を使って曜日の文字列を返すことができます
- B1に =TEXT(A2,"aaa") とします。 セルの表示形式は 標準 のままでOKです。
このときのB列の値は「文字列」になります。
- 曜日の表示形式を
=TEXT(A2,"aaa")とすると、月、火、水・・・
=TEXT(A2,"aaaa")とすると、月曜日、火曜日、水曜日・・・
=TEXT(A2,"ddd")とすると、Mon、Tue、Wen・・・
=TEXT(A2,"dddd")とすると、Monday、Tuesday、Wednesday・・・
となります。
- TEXT関数の使い方は TEXT関数 や TEXT関数の使い方:Excel関数の技 をご覧ください。
- 「2024/3/1」といった日付が入力してあるセルでは、表示形式を「[$-ja-JP-x-gannen]ggge"年"m"月"d"日"(aaa)」とします。すると、同じセル内に日付と曜日を一緒に表示することができます。 セルには 令和6年3月1日(金) と表示されます。
- 日付のデータが入っているセルの表示形式を aaa とか aaaa 、 ddd 、dddd とすれば曜日が表示されます。
-
表示形式 |
表示される曜日 |
aaa |
月、火、水、木、金、土、日 |
aaaa |
月曜日、火曜日、水曜日、木曜日、金曜日、土曜日、日曜日 |
ddd |
Mon、Tue、Wed、Thu、Fri、Sat、Sun |
dddd |
Monday、Tuesday、Wednesday、Thursday、Friday、Saturday、Sunday |
【問題】下図のように、A列に日付が入力されている時にB列に曜日を表示したいと思います。
ここでは、B列の表示形式で対処してください。
【解答例】
- B2セルに=A2 と数式を入力します。
A列と同じ日付が入ります
- [Ctrl]+[1](テンキーの1は使用不可)でセルの書式設定ダイアログボックスを開きます。
表示形式の種類に aaaa と入力すると、B2セルには「金曜日」と表示されます。
- B2セルのフィルハンドルをダブルクリックするとセルが下方向へコピーされます。
- (計算の例として書いています。これ以降の数式をお勧めしているわけではありません。頭の体操・・・と考えてください)
- WEEKDAY関数は =WEEKDAY(シリアル値,[種類]) となりますが、種類を 1 または省略 すると、1 (日曜)〜 7 (土曜) の範囲の整数を返します。
つまり、=WEEKDAY("2012/1/1") とすると 1 が返ります。
- WEEKDAY関数はExcel2010で引数が追加されています。詳細は WEEKDAY関数 をご覧ください。
- 解答例1
返る値が 1〜7 なので、これと曜日を関連付ければよい・・・と考えると・・・・
=CHOOSE(WEEKDAY(A1),"日","月","火","水","木","金","土") のような数式を作ることができます。
- ほかにも、さまざまな数式を作ることができます。
=INDEX({"日","月","火","水","木","金","土"},WEEKDAY(A1))
=VLOOKUP(WEEKDAY(A1),{1,"日";2,"月";3,"火";4,"水";5,"木";6,"金";7,"土"},2)
- 日曜日に色を付けたい・・・条件付き書式で対処します。
この時の数式に WEEKDAY関数を使って説明されているページを目にしますが、TEXT関数の方が解読しやすいと思うのですがいかがでしょう?
=TEXT(A2,"aaa")="日" と =WEEKDAY(A2)=1 との比較です。「1」ってなに?というところです。
- セルに年月日がバラバラに入力されているときの処理方法です。
- A2セルに年:2024、B2セルに月:4、C2セルに日:10が入力されているとします。
D2セルには =TEXT(DATE(A2,B2,C2),"aaaa") と入力しています。
DATE関数で DATE(A2,B2,C2) と日付のシリアル値を計算して、TEXT関数で曜日の文字列を返しています。
- Excelが日付として認識する形式にして、TEXT関数と組み合わせることもできます。
- =TEXT(A2&"/"&B2&"/"&C2,"aaa")
=TEXT(A2&"-"&B2&"-"&C2,"aaa")
- 関数内で日付と認識できる文字列は日付として計算されます。
- Excelが日付として認識する形式にして、表示形式で曜日を表示する
- D2セルに =(A2&"/"&B2&"/"&C2)*1 としてシリアル値にします。
=DATEVALUE(A2&"/"&B2&"/"&C2) としてもよいでしょう。
- =(A2&"-"&B2&"-"&C2)*1
=(A2&"年"&B2&"月"&C2&"日")*1
といった形式にしてもExcelでは日付として扱われます。
- D2セルの表示形式を aaa とか aaaa 、 ddd 、dddd とすれば曜日が表示されます
和暦の場合は?
- A2セルに年:令和6、B2セルに月:4、C2セルに日:10が入力されているとします。
=TEXT(A2&"年"&B2&"月"&C2&"日","aaa")
令和○年○月○日 といった形式にしてやれば、Excelが日付として扱ってくれます。
- A2セルに年:R6、B2セルに月:4、C2セルに日:10が入力されているとします。
Excel2016,2019でTEXTJOIN関数が使える場合は
=TEXT(TEXTJOIN("-",TRUE,A2:C2),"aaa") とすることができます。
- =TEXT(A2&"-"&B2&"-"&C2,"aaa")
H○-○-○ といった形式にしてやれば、Excelが日付として扱ってくれます。
- =TEXT(A2&"."&B2&"."&C2,"aaa")
H○.○.○ といった形式にしてやれば、Excelが日付として扱ってくれます。
スポンサードリンク
よねさんのWordとExcelの小部屋 »
エクセル関数の技 »
曜日を表示する(曜日を計算する)
PageViewCounter
Since2006/2/27