開始日と、足したり引いたりしたい年・月・週・日を入力してください。「○日後」と「○日前」の両方の日付を、曜日つきで同時に計算します。土日を除いて数えたいときは、一番下の営業日の欄だけに日数を入れてください。
このページでできること
- 開始日に年・月・週・日を足した「○日後・○ヶ月後」の日付と、引いた「○日前・○ヶ月前」の日付を、曜日つきで同時に計算します
- 「今日から90日後はいつ?」「締切の2週間前は何日?」「1年6ヶ月後は?」のような日付の計算にそのまま使えます
- 土日を除いて数える「○営業日後・○営業日前」の日付も計算できます(祝日は考慮しません)
- 「1月31日の1ヶ月後はいつ?」のような月末の数え方のやさしい解説・Excel/Googleスプレッドシート(EDATE・WORKDAY関数)・Python用のコピペ数式・計算ドリル(演習問題)もこのページにまとまっています
この計算は何の役に立つ?
請求書の「発行日から30日以内にお支払いください」は、まさに「○日後」の計算です。2026年4月15日発行なら30日後は5月15日(金曜日)が期日になります。
「月末締め翌月末払い」のような支払サイトの確認にも、「○ヶ月後」の計算がそのまま使えます。期日を1日でも過ぎると信用に関わるお金の場面だからこそ、指折り数えではなく計算で確かめるのが安心です。
通販の「5営業日以内に発送」、銀行や役所の「手続きに○営業日かかります」は、土日を飛ばして数える営業日の計算です。金曜日(2026年7月3日)に注文した場合の5営業日後は、土日2日を飛ばして翌週の金曜日(7月10日)になります。
ただし実際の期限には祝日や会社ごとの休業日も影響するので、この計算機の結果(土日のみ除外)を目安に、間に祝日がないかをカレンダーで確認してください。
「2週間後に再診」「4週間あけて次の接種」のような医療のスケジュールは週単位で案内されることが多く、2週間後=14日後なので開始日と同じ曜日になります(6月1日が月曜日なら、2週間後の6月15日も月曜日)。
「28日分の薬がいつなくなるか」「次の予約をいつ取ればよいか」を日付で押さえておくと、飲み忘れや予約切れを防げます。
賃貸住宅の解約は「退去日の1ヶ月前(物件によっては2ヶ月前)までに通知」という契約が一般的です。2026年10月31日に退去したい場合、その1ヶ月前は9月30日(10月31日と同じ「31日」が9月にはないため、月末に丸めた日付)になります。
期限ぎりぎりの通知はトラブルのもとなので、「○ヶ月前」の日付を計算したうえで余裕を持って動くのがおすすめです。なお、期限の数え方は契約書の定めが優先されるため、正確な期限は契約書で確認してください。
出産予定日は、最終月経の開始日から280日後(妊娠40週0日)を目安とする方法(ネーゲレ概算法)が広く使われています。例えば2026年1月1日が起点なら、280日後は10月8日です。
これは月経周期を28日と仮定した統計的な目安で、実際の予定日は超音波検査などをもとに医師が判断します。「今は妊娠何週か」を日付から数える感覚をつかむのに、この計算がとても役立ちます。
「試験日の30日前から過去問を始める」「願書は試験日の○日前まで」のような逆算は「○日前」の計算です。2026年11月15日が試験日なら、その30日前は10月16日です。
発表会・結婚式・引っ越しなどの大きな予定でも、「2週間前までに○○」「前日までに○○」と締切を日付に直してカレンダーに入れておくと、準備の抜けを防げます。
式
用語・記号の解説
記号
| \(D_0\) | ディー・ゼロ | 開始日(起点になる日付)。右下の小さい0は「0番目=出発点」という意味の添え字です。 |
| \(D_1\)・\(D_2\) | ディー・いち、ディー・に | 計算の結果の日付。\(D_1\) が \(n\) 日後、\(D_2\) が \(n\) 日前の日付です。 |
| \(n\) | エヌ | 足したり引いたりする日数。(例:90日後なら \(n = 90\)) |
| \(w\)・\(d\) | ダブリュー、ディー | 週数(\(w\))と、週に入りきらない端数の日数(\(d\))。「3週間と4日」なら \(w = 3\)、\(d = 4\) です。 |
| \(N\) | エヌ(大文字) | 週と日をまとめて日数に直した「加える日数」。\(N = 7w + d\) で求めます。 |
| \(y\)・\(m\) | ワイ、エム | 足したり引いたりする年数(\(y\))と月数(\(m\))。「1年2ヶ月」なら \(y = 1\)、\(m = 2\) です。 |
| \(T\) | ティー | 年と月をまとめて月数に直した「足す月数の合計」。\(T = 12y + m\) で求めます。 |
| \(b\) | ビー | 営業日数(土日を除いて数えた日数)。営業日の英語 business day の頭文字です。 |
| \(C\)・\(W\) | シー、ダブリュー(大文字) | 営業日で数えたときに、暦の上で実際に進む日数(\(C\))と、その間に挟まる土日の日数(\(W\))。\(C = b + W\) の関係があります。 |
用語
| 応当日 | おうとうび | 翌月・翌年の「同じ日付」のこと。1月15日の1ヶ月後の応当日は2月15日です。「○ヶ月後」「○年後」はこの応当日で数えます(民法の期間計算と同じ考え方)。1月31日のように同じ日付がない月では、その月の末日で代用します。 |
| 月末の丸め | げつまつのまるめ | 「○ヶ月後」の応当日が存在しない月(例:1月31日の1ヶ月後の「2月31日」)で、代わりにその月の末日(2月28日・29日)を答えにすること。この計算機もExcelのEDATE関数もこの方式です。 |
| うるう年 | うるうどし | 2月29日がある年。原則4年に1回ですが、100で割り切れる年は平年、400で割り切れる年はうるう年です(2100年は平年、2000年はうるう年)。2月29日の1年後は、翌年に2月29日がないため月末の丸めで2月28日になります。 |
| 営業日 | えいぎょうび | 会社や役所が営業している日。この計算機では「土日を除いた日」を営業日として数え、祝日は考慮しません(春分の日・秋分の日のように年によって日付が変わる祝日があるため)。契約書などでは「営業日」の定義が別に決められていることがあるので、正式な期限は定義を確認してください。 |
| シリアル値 | シリアルち | Excelなどが日付を管理するための通し番号。1900年1月1日を1として、1日ごとに1ずつ増えます。日付が通し番号だからこそ、「日付+日数」がただの足し算で計算できます。 |
| 大の月 | だいのつき | 31日まである月(1・3・5・7・8・10・12月)。30日までの小の月と区別します。 |
| 小の月 | しょうのつき | 30日までの月(4・6・9・11月)。2月だけは28日(うるう年は29日)まで。「にしむくさむらい(2・4・6・9・11)」という覚え方が有名です。 |
前提として理解しておくといいこと
このページの計算を「意味がわかって」使えるようになるために、前提として理解しておくといいことをまとめました。
つまずいたら、この表の内容に戻って復習するのが近道です。
| 暦のしくみ(小学2〜3年) |
|
| くり上がり・くり下がりの足し算引き算(小学2年) |
|
| 掛け算(小学2〜3年) |
|
| 余りのある割り算と周期(小学3年) |
|
Excelで計算する方法
| 開始日 | 2026/1/15 |
| 日数 n | 10 |
| n日後の日付 | =B1+B2 |
| n日前の日付 | =B1-B2 |
| 開始日 | 2026/5/20 |
| 週数 w | 3 |
| 日数 d | 4 |
| 加える日数 N | =B2*7+B3 |
| N日後の日付 | =B1+B4 |
| N日前の日付 | =B1-B4 |
| 開始日 | 2026/5/10 |
| 年数 y | 1 |
| 月数 m | 2 |
| y年mヶ月後の日付 | =EDATE(B1,B2*12+B3) |
| y年mヶ月前の日付 | =EDATE(B1,-(B2*12+B3)) |
| 開始日 | 2026/7/3 |
| 営業日数 b | 5 |
| b営業日後の日付 | =WORKDAY(B1,B2) |
| b営業日前の日付 | =WORKDAY(B1,-B2) |
| 開始日 | 2026/5/10 |
| 年数 | 1 |
| 月数 | 2 |
| 週数 | 3 |
| 日数 | 4 |
| まとめて足した日付 | =EDATE(B1,B2*12+B3)+B4*7+B5 |
| まとめて引いた日付 | =EDATE(B1,-(B2*12+B3))-B4*7-B5 |
1つ目の表のとおり、日数の足し引きは「=日付+日数」のただの足し算で計算できます(1つ目の表の答えは1月25日と1月5日)。月数の足し引きはEDATE関数(=EDATE(開始日, 月数))で、同じ日付がない月では月末に丸められる点までこの計算機と同じです。過去に戻すときは月数をマイナスにします。
営業日はWORKDAY関数(=WORKDAY(開始日, 営業日数))で、土日を除いて数えます(4つ目の表の答えは7月10日)。3つ目の引数に祝日の日付リストを渡すと祝日も除けるので、祝日込みで数えたい場合はそちらを使ってください。
5つ目の表がこの計算機の入力と同じ形で、答えは2027年8月4日になります。1つだけ注意:この計算機は「年 → 月」の順に足すのに対しEDATEは一括で足すため、うるう日(2月29日)がらみのまれなケースで1日ずれることがあります(例:2024/2/29の1年1ヶ月後は、この計算機では2025/3/28、=EDATE(B1,13) では2025/3/29)。
Googleスプレッドシートで計算する方法
| 開始日 | 2026/1/15 |
| 日数 n | 10 |
| n日後の日付 | =B1+B2 |
| n日前の日付 | =B1-B2 |
| 開始日 | 2026/5/20 |
| 週数 w | 3 |
| 日数 d | 4 |
| 加える日数 N | =B2*7+B3 |
| N日後の日付 | =B1+B4 |
| N日前の日付 | =B1-B4 |
| 開始日 | 2026/5/10 |
| 年数 y | 1 |
| 月数 m | 2 |
| y年mヶ月後の日付 | =EDATE(B1,B2*12+B3) |
| y年mヶ月前の日付 | =EDATE(B1,-(B2*12+B3)) |
| 開始日 | 2026/7/3 |
| 営業日数 b | 5 |
| b営業日後の日付 | =WORKDAY(B1,B2) |
| b営業日前の日付 | =WORKDAY(B1,-B2) |
| 開始日 | 2026/5/10 |
| 年数 | 1 |
| 月数 | 2 |
| 週数 | 3 |
| 日数 | 4 |
| まとめて足した日付 | =EDATE(B1,B2*12+B3)+B4*7+B5 |
| まとめて引いた日付 | =EDATE(B1,-(B2*12+B3))-B4*7-B5 |
結果が数字(シリアル値)で表示されたら、メニューの「表示形式 → 数字 → 日付」で日付表示に変えられます。うるう日がらみでEDATEがこの計算機と1日ずれることがある点も、Excelと同じです。
Pythonで計算する方法
from datetime import date, timedelta
import calendar
start = date(2026, 5, 10) # 開始日
years, months, weeks, days = 1, 2, 3, 4 # 足したい年・月・週・日
def add_months(base_date, month_count):
"""月を進めて、同じ日付がない月では月末に丸める(マイナスで過去へ)"""
total_month_index = base_date.year * 12 + (base_date.month - 1) + month_count
year, month_index = divmod(total_month_index, 12)
month = month_index + 1
last_day = calendar.monthrange(year, month)[1]
return date(year, month, min(base_date.day, last_day))
# 「年 → 月 → 週・日」の順に足す(引くときはすべてマイナスにする)
after = add_months(add_months(start, years * 12), months) + timedelta(days=weeks * 7 + days)
before = add_months(add_months(start, -years * 12), -months) - timedelta(days=weeks * 7 + days)
print(f"{years}年{months}ヶ月{weeks}週間{days}日後: {after}") # 2027-08-04
print(f"{years}年{months}ヶ月{weeks}週間{days}日前: {before}") # 2025-02-13
def add_business_days(base_date, business_days):
"""土日を除いてbusiness_days日分だけ先の日付を返す"""
current = base_date
counted = 0
while counted < business_days:
current += timedelta(days=1)
if current.weekday() < 5: # 0〜4が月〜金
counted += 1
return current
print(f"2026-07-03の5営業日後: {add_business_days(date(2026, 7, 3), 5)}") # 2026-07-10
数式記述言語(LaTeX等)での書き方(コピペ可)
D₁ = D₀ + n, D₂ = D₀ − n
D_1 = D_0 + n, \quad D_2 = D_0 - n
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<msub><mi>D</mi><mn>1</mn></msub><mo>=</mo>
<msub><mi>D</mi><mn>0</mn></msub><mo>+</mo><mi>n</mi>
<mo>,</mo><mspace width="0.7em"/>
<msub><mi>D</mi><mn>2</mn></msub><mo>=</mo>
<msub><mi>D</mi><mn>0</mn></msub><mo>−</mo><mi>n</mi>
</mrow>
</math>
D_1 = D_0 + n, D_2 = D_0 - n
dateAfter = DatePlus[startDate, n]; dateBefore = DatePlus[startDate, -n]
dateAfter := startDate + n; dateBefore := startDate - n;
date_after = start_date + days(n); date_before = start_date - days(n);
D_1 = D_0 + n, D_2 = D_0 - n
N = 7w + d
N = 7w + d
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>N</mi><mo>=</mo>
<mn>7</mn><mi>w</mi>
<mo>+</mo><mi>d</mi>
</mrow>
</math>
N = 7w + d
totalDays = 7*weeks + extraDays
totalDays := 7*weeks + extraDays;
total_days = 7*weeks + extra_days;
N = 7w + d
T = 12y + m
T = 12y + m
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>T</mi><mo>=</mo>
<mn>12</mn><mi>y</mi>
<mo>+</mo><mi>m</mi>
</mrow>
</math>
T = 12y + m
totalMonths = 12*years + months
totalMonths := 12*years + months;
total_months = 12*years + months;
T = 12y + m
C = b + W
C = b + W
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>C</mi><mo>=</mo>
<mi>b</mi>
<mo>+</mo><mi>W</mi>
</mrow>
</math>
C = b + W
calendarDays = businessDays + weekendDays
calendarDays := businessDays + weekendDays;
calendar_days = business_days + weekend_days;
C = b + W
ChatGPT に聞いて計算してもらう方法
あなたは日付計算アシスタントです。次の計算を、必ずPythonコードを実際に実行して行い、実行結果の日付だけを根拠に回答してください(暗算や推測で答えないでください)。 1. 2026年5月10日に「1年2ヶ月3週間と4日」を足した日付と、引いた日付。年 → 月 → 週・日の順に足し、「○ヶ月後」は翌月の同じ日付(応当日)で数えて、同じ日付がない月ではその月の末日に丸めてください。 2. 2026年7月3日(金曜日)の5営業日後の日付。営業日は土日だけを除いて数えてください(祝日は考慮しない)。 それぞれ、計算に使ったコードと、実行結果の日付・曜日を示してください。
計算ドリル(演習問題)
このページの計算を、自分の手で計算できるようになるための演習問題です。
答えと解説は解答ページにあります。
使い方
-
1数値を入力計算したい数値を入力欄に入力します
-
2計算「計算する」ボタンを押します
-
3結果を確認計算結果がその場に表示されます。計算の考え方や式の解説も同じページで確認できます
DataChefの特徴
専門知識不要、直感的で簡単な操作
個人情報を登録することなく使用できます
「ダウンロード」押下でファイルを自動削除
クレジット表記不要
商用利用許諾の連絡も不要です
