日付け関数の活用
仕事でコンピュータを使うのが当たり前になってきて、Officeソフトの文書作成プロプログラムのWord(ワード)と表計算プログラムのExcel(エクセル)は必須と言われています。
私自身がコンピュータの使い方をサポートする仕事をしていますが、以前の状況と比較しても業務におけるコンピュータへの依存率が高くなり、そのなかでも表計算プログラムであるExcelが使われる場面が多いと感じています。
以前の記事でもお話ししていますが、Excel(エクセル)をお仕事(業務)で使う際には、金額・数量・個数といった値とともに、まず間違いなく使われる日付情報ですが、Excel(エクセル)での日付の取り扱いにはクセがあり悩む人が多いようです。
その「くせが強い」日付をExcel(エクセル)で取り扱うにあたって、「年・月・日」の情報から日付(シリアル値を求める関数のお話をしました。
本記事では、上記記事でお話しした関数の逆の処理となる日付情報(シリアル値)から年・月・日の情報を取り出す関数について書いてみたいと思います。
シリアル値から年月日情報を取り出す
日付情報(シリアル値)から西暦年・月・日の3つの情報を取り出す関数があり、A6のセルに2019/7/14(シリアル値)が入力されている場合に、関数を使用して日付の西暦年である2019を取得し、月である7を取得・日付である14を取得することができます。
YEAR関数(西暦年を取得)
日付情報(シリアル値)から西暦年を取り出す関数はYEAR関数です。
=YEAR(シリアル値) と入力することで、シリアル値から西暦年を取得することができます。
上記の例では2019年7月14日(2019/7/14)の値であるシリアル値がA6のセルに入力されているので
=YEAR(A6)と入力し、西暦年の2019を求めることができます。
MONTH関数(月を取得)
日付情報(シリアル値)から 月 を取り出す関数はMONTH関数です。
=MONTH(シリアル値) と入力することで、シリアル値から月を取得することができます。
上記の例では2019年7月14日(2019/7/14)の値であるシリアル値がA6のセルに入力されているので
=MONTH(A6)と入力し、日付情報の月である7を求めることができます。
DAY関数(日を取得)
日付情報(シリアル値)から 日 を取り出す関数はDAY関数です。
=DAY(シリアル値) と入力することで、シリアル値から日を取得することができます。
上記の例では2019年7月14日(2019/7/14)の値であるシリアル値がA6のセルに入力されているので
=DAY(A6)と入力し、日付情報の月である14を求めることができます。
YEAR関数・MONTH関数・DAY関数これら3つの関数を使用して日付情報(シリアル値)から年・月・日の値を取得できます。年月日にあたる英単語そのままの関数名なので覚えやすい関数だと思います。
Excel(エクセル)では日付の取り扱いが多く、シリアル値のまま取り扱った方が良いのかそれとも、年・月・日の3つの値に分割して年だけ・月だけ・日だけで処理をするのかといった場合に対応できるようにすることが大事です。
DATE関数との組み合わせ
DATE関数の記事で当月の末日(月末)の日付を求める方法を以前お話ししています。
この記事を書いたときはシリアル値ではなく、年・月・日の3つの値が独立してセルに入力されている状態を想定して書いていましたが、今回はYEAR関数・MONTH関数・DAY関数を使って求める方法をお話ししていきます。
本日の日付2019年7月14日の日付を元に、今月の末日である2019年7月31日を求めたいと思います。前回の考えかたを使い、翌月の1日を求めます。
日付情報(シリアル値)が入力されているのはA1のセルとし、本日の日付が入力されています。
=DATE(YEAR(A1), MONTH(A1)+1, 1) と入力することで、翌月の1日である2019年8月1日のシリアル値を求めることができます。
DATE関数の引数の年にはYEAR(A1)と指定されていてこの値は2019となり、続いて引数の月にはMONTH(A1)+1と指定されているので7+1を計算し8となり、引数の日には1が指定され、結果として
=DATE(2019, 8, 1)
といった計算を行ったことで結果が求められるわけです。
計算の結果は2019/8/1(2019年8月1日)となります。
翌月の1日が求められれば、その前日を計算すれば当月の末日(月末)の日付が求められるので求めて日付-1することで結果が得られます。
=DATE(YEAR(A1), MONTH(A1)+1, 1) – 1 と求めた日付(2019年8月1日)から-1 して前日を求めます。
計算の結果2019/7/31(2019年7月31日)となります。
あとは応用となり、翌月の末日を求めるのであれば翌々月の1日を求めてその前日を計算することになるので=DATE(YEAR(A1), MONTH(A1)+2, 1) – 1と入力すれば翌月の末日である2019年8月1日を求めることができます。
月の引数が翌々月(9月)となるため、MONTH(A1)+2となっていて、計算を実行すると
翌月の末日である2019/8/31(2019年8月31日)を求めることができます。
まとめ
エクセルの関数は単体で使う事で目的とする値を求めることができます。使い方としては間違っていないのですが、仕事・業務では単体で使うだけで欲しい結果が得られることは少なくなります。
YEAR関数・MONTH関数・DAY関数を単体で使うだけでは、単純に年・月・日の値を求めるだけで終わってしまいますが、今回の例の様にDATE関数と組み合わせて使うことで当月の末日や翌月の末日といった結果を求めることができます。
Excel(エクセル)を効率良く使えるようになるには、関数を単体で使えるだけではなく組み合わせて使えるようになることだと思っていただければよいと思います。