「20日締め翌月10日払い」の支払期日を Excel で自動で出す|コピペで使える5つの式(月末締め・翌々月末払いも)
請求書を出すたびに、支払期日をカレンダーで数えていませんか。
この記事の式なら、請求日を入れるだけで支払期日が出ます。まずは答えからお見せします。
A列に請求日を入れて、B2 にこの1行を貼るだけ(20日締め翌月10日払いの場合)
=DATE(YEAR(A2),MONTH(A2)+1+IF(DAY(A2)>20,1,0),10)
→ こうなります
| 請求日(A列) | 支払期日(B列に自動で出る) |
|---|---|
| 2026/11/20 | 2026/12/10 |
| 2026/11/21 | 2027/01/10 |
| 2026/12/25 | 2027/02/10 |
ほかの条件の式も、そのまま貼れる形で用意しました。自分の会社の条件に合う1つだけ使えば足ります。
| 自分の条件 | 使う式 |
|---|---|
| 20日締め翌月10日払い(25日締め翌月15日払いなども、数字を変えるだけ) | パターン1 |
| 月末締め翌月末払い | パターン2 |
| 月末締め翌々月末払い | パターン3 |
| 20日締め翌月末払い | パターン4 |
| 取引先ごとに条件が違う | パターン5 |
使う関数(Excel に計算させる命令)は DATE・YEAR・MONTH・DAY・IF・MIN だけなので、古い Excel でも使えます。どの式も、31日がない月・2月・年をまたぐ月で結果を確かめた表をつけています。
締め日を1日過ぎると、期日は1か月ずれる
上の表の2行目を見てください。11月21日に出した請求書は、「20日締め翌月10日払い」だと、期日は12月10日……ではありません。正しくは1月10日です。
カレンダーで数えていると、このずれに気づかないまま「まだ入金がない」と早まって先方に連絡してしまったり、反対に本当の遅れを見逃したりすることがあります。締め日をまたぐ請求、12月の請求、2月の末日払い。数え間違いが起きやすいのは、いつも同じところです。そこを Excel に任せましょう。
念のため、言葉をおさらいしておきます。
- 締め日: 何日までの取引を、その月の分としてまとめるか。「20日締め」なら、11月21日〜12月20日の取引が「12月分」になります
- 支払日: まとめた分を、いつ払ってもらうか。「翌月10日払い」なら、12月分は翌月(1月)の10日に払われます
つまり「20日締め翌月10日払い」は、こうなります。
| 請求日 | どの月の分か | 支払期日 |
|---|---|---|
| 11月20日 | 11月分(20日までなので) | 12月10日 |
| 11月21日 | 12月分(20日を過ぎたので) | 1月10日 |
この「20日を過ぎたら1か月ずらす」を、式にしています。
準備は2列だけ: 請求日と支払期日
A列に請求日を入れ、B列に支払期日を出すことにします。
| A | B | |
|---|---|---|
| 1 | 請求日 | 支払期日 |
| 2 | 2026/11/21 | (ここに式) |
B2 に式を入れたら、下の行へコピーしてください。結果が「46397」のような数字で出たら、B列を選んで「セルの書式設定」→「日付」にすると、日付の形で表示されます。
パターン1: 20日締め 翌月10日払い
B2 に、次の式をそのまま貼ります。
=DATE(YEAR(A2),MONTH(A2)+1+IF(DAY(A2)>20,1,0),10)
MONTH(A2)+1で「翌月」IF(DAY(A2)>20,1,0)で「請求日が21日以降なら、さらに1か月ずらす」- 最後の
10が「10日払い」
ほかの日付の場合は、20(締め日)と 10(支払日)を変えるだけです。「25日締め翌月15日払い」なら、20 を 25 に、10 を 15 にします。
確かめた結果
| 請求日 | 支払期日 | ポイント |
|---|---|---|
| 2026/11/20 | 2026/12/10 | 締め日の当日は、その月の分 |
| 2026/11/21 | 2027/01/10 | 締め日を過ぎると1か月ずれて、年もまたぐ |
| 2026/12/05 | 2027/01/10 | 12月の請求でも、年が自動で変わる |
| 2026/12/25 | 2027/02/10 | 12月の締め後は、翌々月(2月) |
| 2027/01/31 | 2027/03/10 | 31日の請求も、締め後として扱われる |
パターン2: 月末締め 翌月末払い
=DATE(YEAR(A2),MONTH(A2)+2,0)
「2か月先の0日」=「翌月の末日」です。月末締めなので、締め日の判定(IF)はいりません。
| 請求日 | 支払期日 | ポイント |
|---|---|---|
| 2026/11/30 | 2026/12/31 | |
| 2026/12/15 | 2027/01/31 | 年をまたぐ |
| 2027/01/31 | 2027/02/28 | 2月は28日が末日 |
パターン3: 月末締め 翌々月末払い
=DATE(YEAR(A2),MONTH(A2)+3,0)
「3か月先の0日」=「翌々月の末日」です。
| 請求日 | 支払期日 | ポイント |
|---|---|---|
| 2026/11/30 | 2027/01/31 | 年をまたぐ |
| 2026/12/25 | 2027/02/28 | 2027年の2月は28日まで |
| 2027/12/01 | 2028/02/29 | 2028年はうるう年なので29日 |
パターン4: 20日締め 翌月末払い
締め日と末日払いを組み合わせるときは、パターン1の考え方を足します。
=DATE(YEAR(A2),MONTH(A2)+2+IF(DAY(A2)>20,1,0),0)
2026/11/21 の請求なら、2027/01/31 になります。
パターン5: 取引先ごとに条件が違うなら、1つの式で全部出す
取引先が増えると、パターンごとに式を書き分けるのは大変です。そこで、締め日・支払月・支払日を数字で入れておき、1つの式で計算します。
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | 請求日 | 締め日 | 支払月 | 支払日 | 支払期日 |
| 2 | 2026/11/21 | 20 | 1 | 10 | (ここに式) |
- 締め日: 20日締めなら
20。月末締めなら31 - 支払月: 当月なら
0、翌月なら1、翌々月なら2 - 支払日: 10日払いなら
10。末日払いなら31
E2 に、次の式をそのまま貼ります。
=MIN(DATE(YEAR(A2),MONTH(A2)+C2+IF(DAY(A2)>B2,1,0),D2),DATE(YEAR(A2),MONTH(A2)+C2+IF(DAY(A2)>B2,1,0)+1,0))
長く見えますが、やっていることは2つだけです。
- 前半の DATE で「その月の、支払日の日付」を出す
- 後半の DATE で「その月の末日」を出し、早いほう(MIN)を選ぶ
なぜ2つ出すかというと、DATE は「2月30日」のようなない日付を、3月2日のように翌月へ繰り越してしまうからです。末日と比べて早いほうを取ると、「31日払い」や「30日払い」が、短い月ではその月の末日になります。
確かめた結果
| 請求日 | 条件(締め日・支払月・支払日) | 支払期日 |
|---|---|---|
| 2026/11/21 | 20・1・10(20日締め翌月10日払い) | 2027/01/10 |
| 2026/12/25 | 31・2・31(月末締め翌々月末払い) | 2027/02/28 |
| 2026/11/10 | 15・0・31(15日締め当月末払い) | 2026/11/30 |
| 2027/01/10 | 25・1・30(25日締め翌月30日払い) | 2027/02/28(2月30日がないので末日) |
式が短くなる理由: DATE 関数の2つのくせ
=DATE(年,月,日) は、年・月・日の数字から日付を作る関数です。この関数には、支払期日の計算にちょうどいい「くせ」が2つあります。
- 13月は、翌年の1月として扱われる。
=DATE(2026,13,10)は 2027年1月10日になります。だから12月の請求も、年をまたぐ計算を気にせず「月に1を足す」だけで年が変わります - 0日は、前の月の末日として扱われる。
=DATE(2027,3,0)は 2027年2月28日になります。月末が30日か31日か、2月かを考えなくても「末日」が出せます
この2つのおかげで、上の式はどれも短くなっています。
式を入れたあと、毎月の作業はこう変わる
- 請求書を出すたびに、カレンダーで数えなくてよくなる。 請求日を入れた時点で、支払期日が決まります
- 12月の請求や2月の末日払いでも、迷いにくくなる。 年が変わる、28日で終わる、といった計算は式がやってくれます
- 「まだ入金がない」と連絡する前に、期日を表で確かめられる。 締め日を1日過ぎた請求を、1か月早く催促してしまう心配が減ります
- 同じ式を使っていれば、誰が入れても同じ期日になる。 担当が変わっても、数え方がぶれにくくなります
注意: 土日・祝日・年末年始のずれは計算しません
この記事の式は、支払期日が土日や祝日、銀行が休みの年末年始(12月31日〜1月3日)に当たっても、日付を動かしません。
休みに当たったとき「前の営業日に払う」のか「次の営業日に払う」のかは、取引先との約束や、先方の社内の決まりで変わります。初めて休みに当たるときは、先方に確認しておくと安心です。年末年始の入金については、年末年始の入金はいつ届く?で詳しく書いています。
Google スプレッドシートにも同じ関数があり、この記事の式は Excel と同じ式で動きます。
今日やること: 1つだけ
いちばん取引の多い取引先の条件に合う式を1つ選んで貼り、先月の請求日を入れてみてください。 出た日付が、実際に入金された日と合っていれば、その式は来月からそのまま使えます。
全部の取引先をそろえるのは、そのあとで大丈夫です。
期日を出したあとの入金確認も、自動にしたいとき
支払期日が出たら、次は「その期日までに入金されたか」の確認です。NeXA の Excel テンプレート「小さな会社の未入金チェック+請求・入金管理表」の無料版で、その確認を自動にできます。
- 無料版(BOOTH・20件まで): 支払期日は手で入れる形です。この記事の式で出した期日と、入金日・入金額を入れると、「入金済み」「一部入金」「未入金(期日前)」「期日超過」を自動で判定し、期日超過は赤くなります
マクロ(自動で動くプログラム)は使っていない、ふつうの Excel ファイルです。税金の計算はしません。
▼無料版のダウンロード(BOOTH)
(2026年11月上旬に公開予定です)
件数が増えたら、有料版もあります(note): (2026年11月上旬に公開予定です)
(NeXA 編集部)