誕生日まであと何日かは、=次の誕生日-今日の日付 で求めます。次の誕生日は、生年月日の月と日を使って =DATE(今年,MONTH(生年月日),DAY(生年月日)) で作り、もう過ぎていたら年を 1 つ増やします。
この記事では、数値がずれないように、今日の日付のかわりに基準日(2026/11/12)を D2 に置いて計算します。式の $D$2 を TODAY() に置き換えると、開いた日に合わせて毎日更新されるカウントダウンになります。
誕生日まであと何日かを出す式
今年の誕生日 =DATE(YEAR(基準日),MONTH(生年月日),DAY(生年月日))
あと何日 =次の誕生日-基準日
| 部品 | 意味 |
|---|---|
| 基準日 | 数える元の日。この記事では D2(2026/11/12)。TODAY() にすると今日の日付 |
| YEAR(基準日) | 基準日の年(今年) |
| MONTH・DAY | 生年月日から月と日を取り出す |
| DATE | 年・月・日から日付を作る |
| 次の誕生日 | 今年の誕生日が基準日より前なら、来年の誕生日にする |
1. 今年の誕生日の日付を作る(DATE)
生年月日の「年」だけを基準日の年に入れ替えた日付を作ります。基準日は下へコピーしてもずれないように $D$2 と $ で固定します。
=DATE(YEAR($D$2),MONTH(B2),DAY(B2))

Aさん(1990/5/20 生まれ)は 2026/5/20、Bさん(1985/12/25 生まれ)は 2026/12/25 でした。基準日は 2026/11/12 なので、Aさんの誕生日はもう過ぎていて、Bさんはこれからです。
2. 次の誕生日の日付を出す(過ぎていたら来年)
年のところに (今年の誕生日<基準日) を足します。この部分は、今年の誕生日が基準日より前なら 1、そうでなければ 0 として計算されるので、過ぎていたときだけ来年になります。
=DATE(YEAR($D$2)+(DATE(YEAR($D$2),MONTH(B2),DAY(B2))<$D$2),MONTH(B2),DAY(B2))

誕生日が過ぎている Aさんは 2027/5/20、これからの Bさんは 2026/12/25 になりました。基準日が誕生日当日の Cさんは 2026/11/12 で、今日が次の誕生日です。
3. 誕生日まであと何日かを出す
2 の式から基準日を引くと、あと何日かが出ます。答えのセルの表示形式は「標準」か「数値」にします。
=DATE(YEAR($D$2)+(DATE(YEAR($D$2),MONTH(B2),DAY(B2))<$D$2),MONTH(B2),DAY(B2))-$D$2

Aさんはあと 189 日、Bさんはあと 43 日でした。誕生日当日の Cさんは 0、明日が誕生日の Dさんは 1 です。
$D$2 を TODAY() に置き換えると、ファイルを開いた日を基準に毎日数え直されます。TODAY の使い方は TODAY関数・NOW関数の使い方で説明しています。
4. 次の誕生日に何歳になるかを出す
次の誕生日の年から、生まれた年を引きます。
=YEAR($D$2)+(DATE(YEAR($D$2),MONTH(B2),DAY(B2))<$D$2)-YEAR(B2)

Aさんは次の誕生日で 37 歳、Bさんは 41 歳になります。誕生日当日の Cさんは、今日 26 歳になりました。
いまの年齢を出す方法は 生年月日から年齢を計算する方法で説明しています。
【実機で検証】誕生日までの日数でつまずくところ

| ためしたこと | 式 | 結果 |
|---|---|---|
| 2/29 生まれの今年の誕生日(DATE(2026,2,29)) | =DATE(2026,2,29) | 2026/3/1 |
| 2/29 生まれの次の誕生日(記事の式・Eさん) | =誕生日!I13 | 2027/3/1 |
| 2/29 生まれを EDATE で 23 年後にする | =EDATE(DATE(2004,2,29),12*23) | 2027/2/28 |
| 判定を <= にした誕生日当日(Cさん) | =DATE(2026+(DATE(2026,11,12)<=DATE(2026,11,12)),11,12) | 2027/11/12 |
| 「あと何日」のセルが日付の表示形式のとき(Aさん) | =TEXT(誕生日!I16,"yyyy/m/d") | 1900/7/7 |
| 基準日を「2026.11.12」と入れた | =YEAR("2026.11.12") | #VALUE! |
2 月 29 日生まれの人は、うるう年でない年の誕生日が 2026/3/1 になりました。DATE 関数は、無い日付を次の日にずらすためです。記事の式での Eさんの次の誕生日も 2027/3/1 です。2 月の末日にしたいときは、EDATE 関数を使うと 2027/2/28 になります(EDATE関数の使い方)。どちらの日にするかは、使う目的に合わせて決めます。
過ぎたかどうかの判定を < ではなく <= にすると、誕生日当日の次の誕生日が 2027/11/12 になりました。当日を「あと 0 日」にしたいときは < を使います。
「あと何日」のセルが日付の表示形式になっていると、Aさんの 189 日が 1900/7/7 と表示されます。表示形式を「標準」に直すと日数に戻ります。基準日を「2026.11.12」のようにピリオドで入れると、日付として読めず #VALUE! になりました。日付は「2026/11/12」の形で入れます。
よくある質問
誕生日が過ぎてから何日たったかを出すには?
基準日から今年の誕生日を引きます。日付どうしの引き算は 経過日数を計算する方法で説明しています。
誕生日以外の日(記念日・イベント)までのカウントダウンも同じですか?
毎年くり返す日なら同じ式で出せます。1 回だけの日なら、=その日-TODAY() と引くだけです。
誕生日の何日前かになったら色を付けたいです。
「あと何日」のセルに、条件付き書式で「7 以下」などの条件を付けます。手順は 条件付き書式の使い方で説明しています。
