【Excel日付計算】未来の日付足し算や日数・月数算出、個数計算も攻略

更新:2023/07/12

ITスキル

エクセル日付計算TOP

Excelを使って日付計算をする中で「数年後の日付を求めたい」という場合があると思います。「1日後の日付を出したい」「6ヶ月後の日付は?」ということもあるでしょう。

そんな時に便利な、Excelの日付に足し算をして未来の日付を自動計算する方法を解説します。

さらに、2つの日付間の日数・月数を計算する方法や、特定の日付セルの個数をカウントする方法もご紹介します。

Excel関数の基本まとめ

エクセルの日付計算で知っておきたい「シリアル値」とは?

Excelの日付計算に関して、ぜひ知っておきたいのが「シリアル値」。

「シリアル値」とは、Excelが1900年1月1日を起点として、日付を連番で管理している数字のことです。Excelでは、日付を全てシリアル値という数値にして認識しています。

例えば1900年1月1日は「1」、1900年1月2日は「2」というように、日付を数値として管理することで、日付計算がしやすくなるのです。シリアル値は、Excel上で簡単に確認することができます。

シリアル値の確認方法

(1)日付を西暦で入力すると、「ホーム」の形式を示す部分が自動的に「日付」になりますが、ここを「標準」に直します。

エクセル 日付 シリアル値1

(2)「標準」に直した時に表示される数字が、入力した日付の「シリアル値」です。

エクセル 日付 シリアル値2

エクセルで日数を足し算する方法【n日後・nヶ月後・n年後】

「会員の有効期限3年後の日付を管理したい」

「定期検診の6ヶ月後の日付を一覧表にしたい」

こんなシーンでは、Excelの日付関数が大活躍。Excelで日数を足し算して、未来の日付を自動計算する方法について解説します。

「1日後」の日付を計算する

まずは基本の「1日後」から。Excelでは、前述のとおり日付を1日1日の累積した数字(=シリアル値)として認識していますから、「1日後」なら1を足せばいいことになります。

(1)元の日付が入力されたA2セルを用意し、1日後の日付を入れたいB2セルを選択して「=A2+1」と入力

1日後 日付 計算1

(2)Enterキーで翌日の日付が表示されました。

1日後 日付 計算2

逆に「1日前」の日付を表示したい場合には、同様に「=A2-1」の数式を入力しましょう。

「n日後」の日付を計算する

前項の「1日後」が分かれば「n日後」は簡単ですね。2日後なら「2」を、3日後なら「3」を足せばいいことになります。ここでは30日後として「=A2+30」と入力してみます。

n日後 日付 計算1

ぴったり30日を計算するので、7月31日もカウントして8月1日という結果になりました。

n日後 日付 計算2

逆に「n日前」の日付を出したい場合には、引き算で「=A2-n」の数式を入力しましょう。

「nヶ月後」の日付を計算する【月末調整がカギ】

「6ヶ月後」のように月単位で計算したい時にややこしいのが、月末の調整。その月によって31日だったり30日だったり、はたまた28日の場合もあるため、これらを考慮してくれる関数でなければなりません。

そんな時に便利なのが、EDATE関数。EDATEは月単位での計算に特化した関数なので、月末をしっかり考慮して日付を計算してくれます。

例えば、1月31日の1ヶ月後は単純計算だと2月31日ですが、暦の上で2月31日は存在しないため、2月28日を1ヶ月後として計算します。使い方構文は次のとおり。

=EDATE(開始日,月)

では「1ヶ月後」を例にとって実践してみましょう。

(1)元となる日付A2セルを用意し、1ヶ月後の日付を入れたいB2セルを選択して「=EDATE(A2,1)」と入力。
※「A2」がセルの位置、「1」が「1ヶ月後」を指します。

nヶ月後 日付 計算1

(2)Enterキーで1ヶ月後の日付が表示されました。

nヶ月後 日付 計算2

(応用)「3年6ヶ月後」のような1年以上の場合にも使えます。36ヶ月+6ヶ月=42ヶ月なので、「=EDATE(A2,42)」と入力します。

nヶ月後 日付 計算3

令和5年3月31日の3年6ヶ月後は、令和8年9月30日と表示されました。9月は31日がないことを考慮され、9月30日と正しく計算されています。各月で日数が異なるという月の特徴に配慮した、便利な関数ですね!

「n年後」の日付を計算する

Excelで例えば「3年後」の日付を計算したい時はDATE関数を用います。DATE関数では日付を「年,月,日」に分解することができるため、このうち「年」の部分にだけ3を足し算するという考え方です。

例えば、A2セルにある日付の3年後の日付を表示したい場合には、

=DATE (YEAR(A2)+3,MONTH(A2),DAY(A2))

と入力します(実際は全て半角で)。
※「A2セルの年から3年後」+「A2セルの月と同じ」+「A2セルの日と同じ」を合算して表示してください、と指示していることになります。

先ほどのワークシートに入力してみましょう。

n年後 日付 計算1

数式が長くなってきましたので、エラーになってしまうという方は下図のように「fx」マークからDATE関数を検索し、ガイドに沿って入力していくといいです。

n年後 日付 計算2

「年,月,日」の各要素を1つずつ入力できます。「A2」と入力するところはA2セルをクリックすればOK。計算結果がプレビューで表示されるので、誤っている箇所を判別しやすいです。

応用1:「3年後の前日」を計算する

「3年後の前日」といった計算もできます。例えばソフトのサポート管理で、3年後の前日にサポートが切れる場合の「サポート終了日」は次のように入力します。

=DATE (YEAR(A2)+3,MONTH(A2),DAY(A2)ー1)

(実際の入力は全て半角です。)

3年後の前日1

YEARのところに“+3”、DAYのところに“ー1”と入っていますね。これでEnterを押します。

3年後の前日2

応用2:「3年後」「2年後」など混在する場合

サポート期間が3年間だけでなく1年や2年なども混在している場合、B列にサポート期間を入力した上で、B列を計算式に加えればOKです。

例えば下図で、先ほどYEARのところに入っていた3年後の“3”を消して、代わりにB2セルを指定します。B2セルをクリックすると早いです。

n年後の前日1

Enterでうまく計算できていることを確認したら、そのまま下にコピーします。

n年後の前日

これでサポート期間が2年や1年の計算もできるようになりました!9月1日の場合は、前日となると月が変わって8月31日になりますが、きちんと計算できています。

応用3:うるう年でも正しく表示されるかチェック

2月にはうるう年があるため、正しく表示されるか検証してみます。先ほどと同じく、サポート期間1年〜3年後の前日を自動計算する表を使いましょう。

うるう年

上のとおり、うるう年の2月29日にソフトを購入した場合、サポート終了日となる前日というのは2月28日となります。2月29日の「ちょうど3年後」は29日がなく3月1日となるためです。

また3月1日にソフトを購入した場合は、終了日がうるう年なら2月29日、それ以外なら2月28日と正しく表示できています。

このように、Excelでは長年のカレンダーが既にインプットされているため、うるう年もちゃんと加味して正しく日付表示してくれることが分かりました。

2つの日付間の日数・月数の計算方法

次に、2つの日付間の日数や月数を計算する方法について解説します。

2つの日付間の「日数」を計算する

日付間の日数を導き出したい時は「=B2-A2」といった引き算の数式を用います。この場合、後の日付を「B2」の位置に置かないと、マイナスで日付表示されるので注意しましょう。

下図の例では、C2セルに「=B2-A2」と入力し、30日という結果が表示されています。

日付間の日数を計算

2つの日付間の「月数」を計算する

2つの日付の間の月数を計算するには、DATEDIF 関数を用います。

※DATEDIF関数は現在、公式にはサポートされていません。数式を手入力することで計算してくれますが、不具合が出ることも考えられますので参考程度にご覧ください。

下図の例で、日付Aと日付Bの間の月数を求めたい場合、C2セルに

=DATEDIF(A2,B2,"m")

と入力します(全て半角で)。
※「A2」「B2」は日付が入っているセルの位置、「"m"」は月数を表します。

日付間の月数を計算

Enterを押すと、満月数「2ヶ月」が算出されました。

先に表示されている年月日のほうが大きい場合、月数は表示されませんので、注意してください。

特定の日付セルの個数をカウントする

ここでは、日付のリストを集計する際に便利な関数をご紹介します。無作為に配置されたデータの中から、特定の日付セルだけをピックアップして個数をカウントする場合には、COUNTIF関数を用います。

例えば、これら多くの日付の中から「2015/4/5」を探し出したい場合、

特定の日付 個数カウント1

検索の範囲はA列の1行目から14行目なので「A1:A14」になります。検索したい日付を入力すると数式はこうなります。

=COUNTIF(A1:A14,"2015/4/5")

※=COUNTIF(検索範囲,"検索する日付")を意味します。

特定の日付 個数カウント2

Enterを押すと、該当の日付が表示されているセルの個数が判明します。

特定の日付 個数カウント3

COUNTIF関数の数式は2通りあり、下記のどちらを用いても計算ができます。

(1)=COUNTIF(A2:A20,"2015/2/6")
(2)=COUNTIF(A2:A20,DATE(2015,2,6))

まとめ

今回は、Excelの日付計算について幅広くご紹介してきました。足し算引き算のほか、EDATE・DATE・DATEDIF・COUNTIF関数などさまざまな計算方法がありました。

一度にたくさん覚えるのは大変なので、Excel作業でまず必要なものから1つずつ試してみてはいかがでしょうか。

うるう年や月末の処理など、心配なところは先にサンプルデータでテストしておくと安心。正しい数式で、大量データも正確に運用できるようになるといいですね。

文:マイナビ学生の窓口編集部

関連記事

新着記事

もっと見る

HOT TOPIC話題のコンテンツ

注目キーワード

 ビジネス用語・カタカナ語80選

 キャリアロードマップの一歩目

  • ピックアップ