=A2+30は、A2の日付の30日後の日付を返します。Excelは日付を日数として保存しているので、数を足すとその日数だけ日付が進みます。長さが一定でない月を足すには、=EDATE(A2,3)を使います。3か月後の同じ日です。
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Invoice date | Due (30 days) | Due (90 days) | Two weeks later |
| 2 | 2026-03-10 | 2026-04-09 | 2026-06-08 | 2026-03-24 |
| 3 | 2026-03-25 | 2026-04-24 | 2026-06-23 | 2026-04-08 |
| 4 | 2026-04-02 | 2026-05-02 | 2026-07-01 | 2026-04-16 |
| 5 | 2026-12-15 | 2027-01-14 | 2027-03-15 | 2026-12-29 |
2026-03-10付けの請求書の支払期日は、30日なら2026-04-09、90日なら2026-06-08です。12月の請求書は何もしなくても2027年に入ります。過去に戻るには引き算をします。=A2-30は30日前です。週の場合は掛け算をします。=A2+7*2は2週間後です。
EDATEで月を足す
「1か月後」は決まった日数ではないので、+30ではずれていきます。2月1日からだと3月3日になります。EDATE(start_date, months)は日にちを保ったまま月を変えます。月数をマイナスにすると過去に戻ります。
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Start | Months | Renews | Reminder |
| 2 | 2026-01-15 | 1 | 2026-02-15 | 2026-01-15 |
| 3 | 2026-02-01 | 3 | 2026-05-01 | 2026-04-01 |
| 4 | 2026-03-20 | 12 | 2027-03-20 | 2027-02-20 |
| 5 | 2026-11-05 | 6 | 2027-05-05 | 2027-04-05 |
2026-03-20に始まる年間プランは2027-03-20に更新され、11月からの6か月プランは2027-05-05に更新されます。D列は各更新日の1か月前にリマインダーを出します。B列の月数を変えて、日付が動くのを見てください。
開始日の日が行き先の月にないとき、EDATEはその月の末日を使います。Excelの結果は次のとおりです:
=EDATE("2026-01-31", 1) 2026-02-28
=EDATE("2026-08-31", 1) 2026-09-30
=EDATE("2024-03-31", -1) 2024-02-29
日付に年を足す
1年は12か月なので、=EDATE(A2,12*B2)でB2年を足せます。保証、契約、記念日なら、これで同じ月日が保たれます。
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Bought | Years | Warranty ends | With DATE |
| 2 | 2026-03-14 | 2 | 2028-03-14 | 2028-03-14 |
| 3 | 2025-07-01 | 5 | 2030-07-01 | 2030-07-01 |
| 4 | 2026-11-28 | 3 | 2029-11-28 | 2029-11-28 |
どちらの列も2028-03-14、2030-07-01、2029-11-28になります。違いが出るのは2月29日だけです。=DATE(2027,2,29)は2027-03-01に繰り越されますが、EDATEは2027-02-28を返します。
EOMONTHで月末日を求める
EOMONTH(start_date, months)は月の末日を返します。0なら同じ月、1なら翌月、-1なら前月です。月の1日は前月末の翌日なので、EOMONTH(A2,-1)+1です。
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Date | End of month | End of next month | First of month |
| 2 | 2026-02-10 | 2026-02-28 | 2026-03-31 | 2026-02-01 |
| 3 | 2024-02-10 | 2024-02-29 | 2024-03-31 | 2024-02-01 |
| 4 | 2026-12-31 | 2026-12-31 | 2027-01-31 | 2026-12-01 |
2026年2月は28日で、2024年2月は29日で終わります。2026-12-31からの翌月末は2027-01-31です。EOMONTHは「請求月の翌月末払い」の数式=EOMONTH(A2,1)になります。営業日ならWORKDAYを使います。=WORKDAY(A2,10)は週末を飛ばしてA2の10営業日後です(NETWORKDAYSとWORKDAYを参照)。
練習: 更新日と月末
| A | B | C | |
|---|---|---|---|
| 1 | Start | Months | Renews |
| 2 | 2026-03-10 | 6 |
やってみよう: C2に、A2の開始日からB2の月数だけ後の日付を返してください。
| A | B | |
|---|---|---|
| 1 | Date | Month end |
| 2 | 2026-04-14 |
やってみよう: B2に、A2の日付の月の末日を返してください。
よくある間違い: DATEとMONTH+1で月を足す
=DATE(YEAR(A2),MONTH(A2)+1,DAY(A2))のような数式は「1か月後」に見え、たいていは正しく動きます。ところが次の月にその日がないと、DATEは月末で止まらず、余った日数をその次の月に繰り越します。
| A | B | C | |
|---|---|---|---|
| 1 | Date | MONTH+1 with DATE | End of next month |
| 2 | 2026-01-31 | 2026-03-03 | 2026-02-28 |
1月31日からだと、DATEの数式は2026-03-03を返します。「2月31日」は2月28日の3日後だからです。EDATEは2026-02-28を返し、欲しいのが月末なら、EOMONTHがそれを直接表します。DATEがあふれた月や日をどう扱うかについてはDATE関数で説明しています。
よくある質問
Excelで日付に日数を足すには?
数を足します。=A2+30はA2の日付の30日後、=A2-30は30日前です。Excelは日付を日数として保存しているので、ふつうの足し算で月や年をまたげます。
Excelで日付に月を足すには?
EDATEを使います。=EDATE(A2,3)は3か月後の同じ日を、=EDATE(A2,-3)は3か月前を返します。その日がないとき、EDATEはその月の末日を使います:=EDATE("2026-01-31",1)は2026-02-28です。
Excelで月末日を求めるには?
=EOMONTH(A2,0)はA2の月の末日を返します。=EOMONTH(A2,1)は翌月末、=EOMONTH(A2,-1)+1はA2の月の1日です。
Excelで日付に年を足すには?
=EDATE(A2,12*5)で5年を足します。=DATE(YEAR(A2)+5,MONTH(A2),DAY(A2))でもできますが、うるう年でない年では2月29日が3月1日になります。EDATEなら2月28日になります。
日数を足すと日付ではなく数値が表示されるのはなぜですか?
結果のセルの表示形式が標準か数値になっているので、日付が46126のようなシリアル値で表示されています。セルを選び、ホーム > 表示形式 > 短い日付形式を選んでください。