Deprecated : The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
曜日を表示する(曜日を計算する):Excel関数の技
Home »
エクセル関数の技 »
曜日を表示する(曜日を計算する)
更新:2025/4/5;作成: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・・・
となります。
Spillが利用できるExcel2021以降では =TEXT(A2:A8,"aaa" ) のように数式を入力します。
TEXT関数の使い方は TEXT関数 や TEXT関数の使い方:Excel関数の技 をご覧ください。
日曜日に色を付けたい・・・条件付き書式で対処します。
この時の数式に WEEKDAY関数を使って説明されているページを目にしますが、TEXT関数の方が解読しやすいと思うのですがいかがでしょう?
=TEXT(A2,"aaa")="日" と =WEEKDAY(A2)=1 との比較です。「1」ってなに?というところです。
「2025/5/1」といった日付が入力してあるセルでは、表示形式を「[$-ja-JP-x-gannen]ggge"年"m"月"d"日" (aaa) 」とします。
すると、同じセル内に日付と曜日を一緒に表示することができます。 セルには 令和7年3月1日 (木) と表示されます。
なお、令和1年と表示したいときは [$-ja-JP]ggge"年"m"月"d"日"(aaa) とします。
日付のデータが入っているセルの表示形式を 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:A8 と数式を入力します。
Spillが利用できないバージョンでは =A2 と入力して、下方向へ数式をコピーします。
A列と同じ日付または日付のシリアル値が表示されます。
[Ctrl]+[1](テンキーの1は使用不可)でセルの書式設定ダイアログボックスを開きます。
表示形式の種類に aaaa と入力すると、B2セルには「木曜日 」と表示されます。
計算の例として書いています。これ以降の数式をお勧めしているわけではありません。 頭の体操・・・と考えてください )
WEEKDAY関数は =WEEKDAY(シリアル値,[種類]) となりますが、種類を 1 または省略 すると、1 (日曜)〜 7 (土曜) の範囲の整数を返します。
つまり、=WEEKDAY("2025/5/1") とすると 5 が返ります。 WEEKDAY関数はExcel2010で引数が追加されています。詳細は WEEKDAY関数 をご覧ください。
解答例1
返る値が 1〜7 なので、これと曜日を関連付ければよい・・・と考えると・・・・
=CHOOSE(WEEKDAY(A1),"日","月","火","水","木","金","土") のような数式を作ることができます。
ほかにも、さまざまな数式を作ることができます。
=INDEX({"日","月","火","水","木","金","土"},WEEKDAY(A1))
=VLOOKUP(WEEKDAY(A1),{1,"日";2,"月";3,"火";4,"水";5,"木";6,"金";7,"土"},2)
セルに年月日がバラバラに入力されているときの処理方法です。
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&"日" ,"aaaa")
令和○年○月○日 といった形式にしてやれば、Excelが日付として扱ってくれます。
A2セルに年:R6 、B2セルに月:4、C2セルに日:10が入力されているとします。 Excel2016,2019でTEXTJOIN関数が使える場合は
=TEXT(TEXTJOIN("-",TRUE,A2:C2),"aaaa") とすることができます。
=TEXT(A2&"-"& B2&"-"& C2,"aaaa")
H○-○-○ といった形式にしてやれば、Excelが日付として扱ってくれます。
=TEXT(A2&"."& B2&"."& C2,"aaaa")
H○.○.○ といった形式にしてやれば、Excelが日付として扱ってくれます。
スポンサードリンク
Home »
エクセル関数の技 »
曜日を表示する(曜日を計算する)
PageViewCounter
Since2006/2/27