エクセルで日付の計算を関数で行う。 date関数を使い年・月・日の値を指定して求める

エクセルで日付の計算を関数で行う。 date関数を使い年・月・日の値を指定して求める
この記事はだいたい 8 分前後で読めます。

日付を処理する関数

エクセルには、合計を求める、平均を求める、最大値・最小値を求めるといった様々な計算結果を求めることができる【関数】があります。

エクセルを使っていく上で関数の使い方を知ることは大事で、順番としては関数の使い方・考え方をお話しした上で日付の処理について書いていくものかもしれませんが、先日エクセルの日付の計算で単純に足し算・引き算ができる事を書いていたので、日付でよく使う関数で計算する方法をお話しします。

関連記事
image
エクセルで日付の計算をするには関数が必要か?まずは単純な足し算と引き算で日付を求める 日付は数値 エクセルを使う上で、入力するものは【数値】と【文字列】ですが、【数値】はエクセルが計算に使うことができるも……
関連記事
image
エクセルで日付情報(シリアル値)から関数を使い西暦年・月・日の3つの値を取得するには 日付け関数の活用 仕事でコンピュータを使うのが当たり前になってきて、Officeソフトの文書作成プロプログラムのW……
関連記事
image
エクセルでTIME関数を使い時・分・秒の3つの値から時刻情報(シリアル値)を取得する 時刻関数の活用 4月目前!進学、就職と新しい世界へと進む人であふれています。そこで勉強・仕事で使うであろうOffi……
関連記事
image
エクセルで時刻・時間情報(シリアル値)から関数を使い時・分・秒それぞれの値を取得する 時刻関数の活用 エクセルで時・分・秒の情報からTIME()関数を用いることで、時刻・時間情報(シリアル値)が求めら……

日付の求め方と関数

求めたい日付が、1日後、1日前や、2週間後であれば、単純に足し算・引き算で求めることができたわけですが、求めたい日付が当月の末日、1か月後の末日、1か月前の末日、指定月後の末日、指定月の1日といった場合には、単純に足し算・引き算では求めることができません。

そのような日付を求める場合にどのように計算を行うか考え方と、計算に使用する関数を説明していきたいと思います。

エクセルで日付の計算を行う際には入力された値が【シリアル値】になっていなければ計算(処理)ができません。
以下の説明では入力されている値はシリアル値で、表示形式が【日付】になっていて、日付け形式で表示されていない部分は【数値】として入力されている状態とします。

年・月・日の値を使いdate関数で日付(シリアル値)に変換する

年(西暦)・月・日の値を指定して、シリアル値を得るにはdate関数を使います。
=date(西暦年, 月, 日)と、関数の引数(ひきすう)として、求めたい日付の西暦年と月・日を指定します。
例えば今日 2019年6月21日の日付(シリアル値)を得たい場合は
=date(2019, 6, 21)と入力します。

date関数に直接値を使わずに、年・月・日の値が入力されたセルを使って計算することもできます。セルを指定する方がエクセルでは多くなると思います。

下の例ではA4のセルに2019, A5のセルに6, A6のセルに21が入力されている場合にその値を使って日付(シリアル値)を得るには=date(A4, A5, A6) と入力します。

セルを指定(セルの番地を入力)した結果も同様にシリアル値を得ることができます。

当月の末日(月末)の日付

カレンダーを見れば簡単にわかるかもしれない末日もエクセルで処理をする場合は、6月だったら30日、7月だったら31日、2月だったら28日?29日?今年はうるう年?などと考え始めると、求める日付の条件が多くなってしまうので大変です。

そこで、末日(月末)の日付の考え方を変えてみます。今回の例では2019年6月21日を基準とし、翌月の1日は必ず存在するので2019年7月1日をまず求めることにします。
=date(2019, 6+1, 1) と入力することで 2019/7/1のシリアル値を得ることができます。

2019年7月1日の1日前は2019年6月30日となりますが、これは6月の末日(月末)にあたります。つまり末日を求めたい場合に、翌月の1日を得た上で、その前日を計算すれば末日を求めることができることになります。前日は -1 することで求められます。

ある日付から翌月の1日を計算し、その日付の前日を求めることで結果が得られます。

1か月後の末日(月末)の日付

翌月の末日を求めるには、翌々月の1日を求めその前日を計算すればよいので
=date(2019, 6+2, 1) – 1 と計算することで2019年7月31日を求めることができます。

1か月前の末日(月末)の日付

先月の末日を求めるには、当月の1日を求めその前日を計算すればよいので
=date(2019, 6, 1) – 1 と計算することで2019年5月31日を求めることができます。

まとめ

date関数を使う事で日付(シリアル値)を得ることができ、指定する年・月・日を変化させることで、求めたい日付を計算できる点はシンプルな処理だと思います。

仕事上よく使われる日付、「末日締め処理、月末の支払い、翌月の末日」といった日付を求める考え方として、ある月の1日の前日を求めることで月末の日付が得られるとしましたが他にも計算はできると思います。

今回の説明では、本日の日付の西暦年・月・日をセルに数値として入力し、その値を計算に使っていますが、エクセルではある日付から年・月・日のデータを得ることができるので、次回日付を処理する関数としてお話ししたいと思っています。

関連記事
image
エクセルで日付の計算をするには関数が必要か?まずは単純な足し算と引き算で日付を求める 日付は数値 エクセルを使う上で、入力するものは【数値】と【文字列】ですが、【数値】はエクセルが計算に使うことができるも……
関連記事
image
エクセルでTIME関数を使い時・分・秒の3つの値から時刻情報(シリアル値)を取得する 時刻関数の活用 4月目前!進学、就職と新しい世界へと進む人であふれています。そこで勉強・仕事で使うであろうOffi……
TOPへ