YEAR関数・MONTH関数・DAY関数・DATE関数☆
日付データってその事柄が起きた時なので割と記録されていることが多くて、それ見れば、いつ売れたかがわかるんですけど、たとえば月ごとに何個売れたかって求めるのに、月ごとに仕分けする必要があって、そのためには何月かって知る必要があるんですよね。
そんなときに月の数字を取り出すのがMONTH関数でできるんです。
そんな日付に関する関数を説明します。
日付シリアル値
Excelの日付って、その日付に1足すと翌日の日付になるんです。明日の日付から昨日の日付を引くと2って出てくるんです。
Excelの日付で足し算引き算することができるんですね。
これ、なんででしょう。
実はExcelの日付は、1900年の1月1日を1日目とした日数で記録されてるんです。Excelさんはその日数をカレンダーに当てはめて、何年の何月何日ってわかるんですね。賢いなぁ。
日数だから足し算や引き算ができるんですね。
この日付を表すその日の日数の数字を日付シリアル値といって、実はただの数字なんですよ。
だから日付を軟化したときに4万いくつかのただの数字が表示されたことないですか?
あれ、日付データが標準表示になるとそういう表示になるんです。あの数字が日付シリアル値なんですよ。
実際には日付は日付って思ってても大丈夫なんですけど、日付を扱ってて4万いくつかの数字が表示にしたときに日付表示に戻せばいいんだってことと、足し算引き算ができるってことだけは覚えていくといいと思います。
何かの商品を注文して、じゃ10日後に届けますってなったら、注文日に10日を足せば届く日が求められるんですよ。
YEAR関数
YEAR関数は指定した日付の西暦の年を数値で求めます。yearは英語で年ですよね。使い方は次の通りですよ。簡単。
=YEAR(シリアル値)
以下の図で、セルA2の年をセルD2に求める計算式は次の通りです。
=YEAR(A2)
MONTH関数
月を求めるときは、月を表すのは英語でmonthなのでMONTH関数です。使い方は年と同じです。
=MONTH(シリアル値)
以下の図で、セルA2の月をセルE2に求める計算式は次の通りです。
=MONTH(A2)
DAY関数
日付の日を求めるときは、日を表すのは英語でdayなのでDAY関数です。これも使い方は年と同じです。
=DAY(シリアル値)
以下の図で、セルA2の日をセルF2に求める計算式は次の通りです。
=DAY(A2)
ところでデータ集計するとき、年とか月なら区分けするグループになるんですけど、日ってなんか細かすぎてグループの基準にならないような感じがしませんか。確かに年、月のように区切りごとの集計にはあまりしないかもしれないですね。日ごとに売り上げの動向っていうのは知りたいことは知りたいんですけど。でも日ごとに求める場合はDAY関数で取り出した日を使わないで取り出す前の日付でグループ化します。
さとうせんせいが集計するときは日を10日まで、20日まで、それ以降で区分けして、月の前半、中盤、後半でも動向を見るときがあるって言ってました。その時にはIFS関数でDAY関数の結果の日付を区分けすると効率いいんですって。
その、DAY関数でセルF2に求めた日付から、セルG2に月の前半、中盤、後半に仕分けする式は次の通りです。
曜日
もちろん何曜日でどうなるかで仕分けしてデータ集計するのってものすごい意味があるんですよ。特に平日と土日の比較をするって、何かを販売している会社だととっても重要ですよね。
じゃあ、曜日を求めるのって関数あるのかっていうと、あるんですよ。曜日は英語でweekdayなのでWEEKDAY関数です。
使い方もそんなに難しくなくて、次の通りです。
=WEEKDAY(シリアル値,[種類])
種類は指定しないこともできて、指定しないと日曜日を1として土曜日を7とした連番として曜日を求めます。
種類は次のWEEKDAY関数入力中の画面を見てください。
で、ここであれ?って思わないですか?曜日を求めてるのに数字を求めるの?って。
本当は日月火って曜日を知りたいですよね。
実はそのように求める専用の関数って直接はないんですよ。
そこで、さとうせんせいはWEEKDAY関数ではなく、曜日はTEXT関数を使った次の式を暗記して覚えておいてって教えてます。さとうせんせいが関数を暗記で覚えておいてっていうのはこれ以外聞いたことがないです。
=TEXT(日付シリアル値,"aaa")
これで指定した日付の曜日が漢字1文字で求まります。
下の図でセルH2にセルA2の曜日を漢字1文字で求めるには次の式です。
=TEXT(A2,"aaa")
WEEKDAY関数の使い道はほかにいろいろあるんですよね。万年カレンダー作るときとかに使います。
DATE関数
いままでのは日付から何かを取り出せる関数でした。
今度は一つの日付を、年と月と日の数字から作り出す関数です。
集計するデータって一つの日付で記録されているときもあるし、年、月、日でバラバラに記録されてるときもあるし、どっちも記録されてることもあるかな。そんな感じで年、月、日しかないときには、それをくっつけないと一つの日付にならないし、一つの日付にならないと曜日が求まらないです。
日付は英語でdateだからDATE関数です。使い方は難しくないです。
=DATE(年,月,日)
この年、月、日にそれぞれのセルを指定すればよいです。セルじゃなくて数字をそのまま入れることもできます。
セルD2の年の数字、セルE2の月の数字、セルF2の日の数字から1つの日付を求めるには、次の計算式です。
=DATE(D2,E2,F2)
ちょっと面白い使い方なのですが、応用すると、セルD2の年の数字、セルE2の月の数字で表せる日付の翌月の10日の日付って次の計算式で求まるんです。
=DATE(D2,E2+1,10)
月に1足して翌月を表すんですね。日は直接10を入力します。
12月の場合は1足したら13月になっちゃうんですけど、このときはちゃんと翌年の1月の10日になってくれます。優秀ですね!!
まとめ
データ集計の時に役立つ、日付を扱う関数を紹介しました。これがわかれば、年、月、日、曜日で区分けしてグループにできるので、そのあとSUMIF関数などで年ごと、月ごと、曜日ごとといった集計ができます。
データ集計以外にもカレンダー作成や、何かの自動化する場合に日付を扱うこともあるので、その際にもめっちゃ役立ちます。