Excelで生年月日を扱うときは、見た目をそろえるだけでは不十分です。
セルに日付として正しく入力し、表示形式を整え、年齢計算や並べ替えにも使える状態にしておくことが大切です。
たとえば「1990年4月1日」と表示されていても、文字列として保存されている場合はDATEDIF関数やYEAR関数で正しく処理できないことがあります。
一方で、Excelの日付は内部的には連続した数値として管理されているため、入力方法と表示形式を分けて理解すると作業が安定します。
生年月日を扱うポイント
・日付として認識される入力方法を使う
・表示形式はセルの書式設定で変更する
・文字列になった日付は変換してから計算する
この記事では、生年月日の入力、和暦表示、西暦表示、年齢計算、日付にならない場合の対処法までを順に解説します。
最初に日付データとして正しく登録しておけば、名簿管理や顧客台帳、従業員一覧でも再利用しやすくなります。
エクセルで生年月日を入力する方法
それではまず、生年月日を日付データとして入力する基本操作について解説していきます。
| A列 | B列 | C列 |
|---|---|---|
| 氏名 | 生年月日 | 年齢 |
| 田中 花子 | 1992/08/15 | 31 |
| 佐藤 恒一 | 1985/12/03 | 38 |
スラッシュを使った西暦入力
生年月日を入力するときは、B2セルのように1992/8/15と西暦、月、日をスラッシュで区切る方法が基本です。
Enterキーを押した後に1992/08/15や1992年8月15日へ見た目が変化した場合、そのセルは日付として認識されています。
月や日は必ずしも2桁で入力する必要はなく、1992/8/5と入力しても日付データになります。

生年月日を西暦で統一して入力すると、古い順や新しい順で並べ替えるときも自然な順番になります。
入力する列に氏名や住所などの文字列が混ざっていても、日付列だけが正しく日付として登録されていれば問題ありません。
入力直後にセルをクリックし、数式バーに1992/8/15のような日付が表示されるかを確認しましょう。
【操作のポイント】年月日の間には半角スラッシュまたは半角ハイフンを使い、全角文字の入力は避けます。
ハイフンと年月日表記の使い分け
1992-08-15のようにハイフンで区切って入力しても、多くのExcel環境では日付として認識されます。
ただし、入力規則や地域設定の影響を受けることがあるため、社内で入力方法を統一するならスラッシュ形式が扱いやすいでしょう。
1992年8月15日と日本語で入力しても、通常はExcelが日付として処理します。
表示が「1992年8月15日」でも、セルの配置が右寄せなら数値の日付として認識されている可能性が高い状態です。

一方で、19920815のように8桁の数字だけを入力すると、Excelが単なる数値として保存する場合があります。
8桁形式を使う必要があるときは、後からDATE関数やTEXT関数を使って日付へ変換する方法を選びましょう。
日付として認識されやすい入力例
1992/8/15
1992-8-15
1992年8月15日
【操作のポイント】入力後に表示形式を変更する前に、セルが日付データになっているか確認します。
年だけや月日だけを入力するときの注意点
生年月日ではなく生年だけを管理したい場合、1992と入力すると日付ではなく数値になります。
これは年齢計算の基準日を正確に求められないため、誕生日まで含めた計算には向きません。
月日だけを8/15と入力すると、Excelは現在の年を補って日付として処理することがあります。
年齢や満年齢を計算する予定がある名簿では、年、月、日を省略せずに入力することが重要です。
事情により誕生日が不明な場合は、推測した日付を入力するよりも、別列に不明と記録する運用が安全です。
仮の日付を入力すると、集計や年齢計算の結果が事実と異なるおそれがあります。
【操作のポイント】入力の粒度が異なるデータを同じ生年月日列に混在させないことが大切です。
生年月日の表示形式を変更する方法
続いては、入力済みの生年月日を西暦や和暦などに見やすく表示する設定を確認していきます。
| 元の日付 | 表示形式 | 表示結果 |
|---|---|---|
| 1992/08/15 | yyyy/mm/dd | 1992/08/15 |
| 1992/08/15 | yyyy年m月d日 | 1992年8月15日 |
| 1992/08/15 | ggge年m月d日 | 平成4年8月15日 |
ホームタブで選ぶ短い日付形式
最も簡単な方法は、生年月日が入ったセルまたは列全体を選択し、ホームタブの表示形式から短い日付形式を選ぶ操作です。
標準や数値になっているセルでも、日付データであればすぐに日付らしい見た目へ切り替えられます。
表示形式を変えても、セルに保存されている日付そのものは変わりません。

たとえば1992/8/15を1992/08/15に見せたいときは、月日を2桁で表示できる書式を選ぶか、ユーザー定義で指定します。
生年月日一覧では桁数をそろえると、視線が流れやすくなり、入力ミスも見つけやすくなります。
短い日付形式は環境設定によって表示が異なる場合があるため、帳票ではユーザー定義の書式が便利です。
【操作のポイント】列全体を選択してから設定すると、追加したデータにも同じ見た目を適用しやすくなります。
セルの書式設定で西暦表示に整える方法
表示を細かく指定したいときは、対象セルを選択して右クリックし、セルの書式設定を開きます。
表示形式タブのユーザー定義でyyyy/mm/ddと入力すると、1992/08/15のように年、月、日をすべて2桁または4桁で統一できます。
yyyy年m月d日と設定すれば、日本語の帳票に合う自然な表記になります。
yyyyは4桁の西暦、mmは2桁の月、ddは2桁の日を表す記号です。

よく使うユーザー定義の表示形式
yyyy/mm/dd
yyyy年m月d日
yy/m/d
月を1桁でもよい場合はm、日を1桁でもよい場合はdを使用します。
入力値を変えずに見た目だけ調整できるため、データベースとしての統一性も保てます。
【操作のポイント】書式コードは半角英数字で入力し、設定後にサンプル欄の表示を確認します。
和暦表示と元号表記の設定
履歴書一覧や学校関係の書類などで和暦が必要な場合は、セルの書式設定の分類から日付を選び、日本語の和暦形式を選択します。
ユーザー定義でggge年m月d日と指定すると、令和や平成などの元号を含む表示になります。
和暦表示は見た目だけを変える機能なので、並べ替えや年齢計算には西暦の日付データのまま利用できます。
元号が変わってもExcelが日付として認識していれば、該当する元号に自動で表示されます。
ただし、昭和、平成、令和を文字で直接入力したセルは文字列になることがあるため、計算用の列には使わないほうがよいでしょう。
【操作のポイント】和暦が必要な帳票では、計算用の生年月日列を残し、表示用列だけを和暦にする方法も有効です。
関数で生年月日を作成する方法
続いては、年、月、日が別々の列にあるデータから、生年月日を作成する方法を確認していきます。
| A列 | B列 | C列 | D列 |
|---|---|---|---|
| 生年 | 生月 | 生日 | 生年月日 |
| 1992 | 8 | 15 | =DATE(A2,B2,C2) |
DATE関数で年月日を結合する仕組み
年、月、日がA列からC列に分かれている場合は、D2セルにDATE関数を入力すると正しい日付を作成できます。
=DATE(A2,B2,C2)
DATE関数は、年、月、日という順に数値を指定し、Excelが理解できる日付シリアル値を返す関数です。
文字列を単純につなげる方法よりも、DATE関数を使うほうが日付計算やエラー確認に強くなります。
A2に1992、B2に8、C2に15が入っていれば、D2には1992年8月15日に相当する日付が作成されます。
作成後のD列にはyyyy/mm/ddなどの表示形式を設定しましょう。
罫線
中央揃え
表示形式
| A | B | C | D | |
| 1 | 生年 | 生月 | 生日 | 生年月日 |
| 2 | 1992 | 8 | 15 | 1992/08/15 |
| 3 | 1985 | 12 | 3 |
数式を入力したD2セルの右下にある小さな四角を下へドラッグすると、D3以降にも参照先を変えた数式をコピーできます。
【操作のポイント】1行目を見出しにした場合、数式は2行目から入力し、オートフィルで下の行へ展開します。
TEXT関数で表示用の文字列を作る場合
日付をメール本文や別の文字列と組み合わせて表示したいときは、TEXT関数を使う場面があります。
=TEXT(D2,”yyyy年m月d日”)
この数式はD2の日付を1992年8月15日という文字列に変換します。
TEXT関数の結果は計算用の日付ではなく文字列になるため、年齢計算の元データにはDATE関数で作った日付を残します。
たとえば案内文に「生年月日 1992年8月15日」と表示したい場合には便利です。
データベース用の列と印刷や表示用の列を分けることで、用途ごとの誤操作を減らせます。
【操作のポイント】計算に使う列は日付形式のままにし、TEXT関数は帳票用の補助列で使います。
8桁の数字を日付へ変換する方法
19920815のような8桁の生年月日がA2セルに入っている場合は、LEFT関数、MID関数、RIGHT関数とDATE関数を組み合わせます。
=DATE(LEFT(A2,4),MID(A2,5,2),RIGHT(A2,2))
LEFT関数で先頭4文字の年を取り出し、MID関数で5文字目から2文字の月を取り出し、RIGHT関数で末尾2文字の日を取り出します。
取り出した値をDATE関数へ渡すことで、Excelが計算できる本来の日付に変換できます。
変換後は必ずyyyy/mm/ddの表示形式を設定し、意図した誕生日になっているか確認しましょう。
たとえば月日が1桁で桁数が一定でないデータにはこの式をそのまま使えないため、入力データの形式を確認する必要があります。
【操作のポイント】8桁データの先頭に0が必要な運用では、入力列を文字列形式にして桁を保持します。
生年月日から年齢を計算する方法
続いては、生年月日を基にして満年齢を計算する方法を確認していきます。
| A列 | B列 | C列 |
|---|---|---|
| 氏名 | 生年月日 | 満年齢 |
| 田中 花子 | 1992/08/15 | =DATEDIF(B2,TODAY(),”Y”) |
DATEDIF関数による満年齢の計算
生年月日がB2セルにある場合、C2セルへDATEDIF(B2,TODAY(),”Y”)と入力すると、今日時点の満年齢を求められます。
=DATEDIF(B2,TODAY(),”Y”)
DATEDIF関数は開始日と終了日の差を指定した単位で返す関数です。
Yを指定すると、誕生日を迎えた回数に基づいた満年数が返されます。
単純に今年の年から生年を引く式では、今年の誕生日がまだ来ていない人の年齢が1歳多くなります。
TODAY関数はファイルを開いた日の日付を返すため、名簿を更新しなくても年齢が自動で変わります。
【操作のポイント】DATEDIF関数の開始日には生年月日、終了日には基準日を指定する順番を守ります。
基準日を固定した年齢計算
年度末時点や採用日時点の年齢を出す場合は、TODAY関数の代わりに固定した基準日を使います。
たとえば2026年4月1日時点の年齢を求めるなら、DATEDIF(B2,DATE(2026,4,1),”Y”)と入力します。
=DATEDIF(B2,DATE(2026,4,1),”Y”)
この式なら、ファイルをいつ開いても2026年4月1日時点の年齢が変わりません。
募集要項や学校の学年判定など、基準日が決まっている書類では固定日を使うことが重要です。
基準日を別セルに入力しておけば、数式を修正せずに対象年度だけ更新できます。
【操作のポイント】基準日をF1セルに置く場合は、DATEDIF(B2,$F$1,”Y”)のように絶対参照を使います。
エラーや未来の日付を防ぐ設定
生年月日欄が空白の場合や未来の日付が入力されている場合、年齢計算でエラーや不自然な数値が表示されることがあります。
空白を非表示にしたいときは、IF関数を組み合わせる方法が便利です。
=IF(B2=””,””,DATEDIF(B2,TODAY(),”Y”))
この数式ではB2が空欄なら空欄を返し、入力されているときだけ年齢を計算します。
入力規則で生年月日の上限を今日の日付に設定すると、未来の誕生日を誤って登録するミスを防ぎやすくなります。
個人情報を扱う名簿では、日付の正確さだけでなく、閲覧権限や共有範囲にも注意しましょう。
【操作のポイント】年齢列の式は入力済みの最終行までコピーし、空白行では空白を返す設定にします。
生年月日が日付にならない場合の対処法
続いては、入力した生年月日が文字列になったり、計算できなかったりする場合の対処法を確認していきます。
| 状態 | 確認する内容 | 対処 |
|---|---|---|
| 左寄せのまま | 文字列の可能性 | 区切り位置やDATE関数で変換 |
| #######と表示 | 列幅不足 | 列幅を広げる |
| 年齢が計算不可 | 日付形式の確認 | 日付データへ変換 |
文字列として保存された日付の確認
セル内の日付が左寄せで表示され、表示形式を日付へ変えても見た目が変わらない場合は、文字列として保存されている可能性があります。
数式バーの先頭にアポストロフィが付いている場合も、文字列入力になっているサインです。
文字列の日付は見た目が正しくても、並べ替えやDATEDIF関数の結果に影響するため注意が必要です。
少数のセルなら、編集モードにしてEnterキーを押し直すだけで日付として認識される場合があります。
大量のデータでは、次の区切り位置機能を使うほうが効率的です。
【操作のポイント】文字列かどうかは、SUM関数やYEAR関数で処理できるかを試すと判断しやすくなります。
区切り位置機能による日付変換
文字列の日付が多く並んでいる場合は、対象列を選択してデータタブの区切り位置を開きます。
元のデータ形式では区切り文字を選び、最後の画面で列のデータ形式を日付に指定します。
年月日の並びが年、月、日である場合は、該当する日付形式を選んで完了します。
区切り位置機能は、見た目が日付でも計算できないデータを数値の日付へ変換するときに役立ちます。
変換前には元データをコピーしておくと、想定外の変換が起きた場合にも戻しやすくなります。
【操作のポイント】変換後は表示形式をyyyy/mm/ddへ統一し、日付の並びが逆転していないか確認します。
列幅と表示記号の確認
セルに#######と表示されるときは、日付が壊れたとは限りません。
多くの場合は列の幅が足りず、Excelが日付を表示できない状態です。
列見出しの右側境界をダブルクリックすると、内容に合わせて列幅を自動調整できます。
日付が正しくても列幅不足で見えなくなるため、データの削除や再入力をする前に幅を確認しましょう。
また、負の日時を日付形式で表示しようとした場合にも記号が表示されることがあります。
生年月日の列であれば、未来日や計算式の参照先に誤りがないかを確認する流れが有効です。
【操作のポイント】列幅を広げても直らない場合は、数式バーの値とセルの表示形式を確認します。
まとめ エクセルで日付形式の生年月日を入力・表示する方法
エクセルで生年月日を扱うときは、まず1992/8/15のように日付として認識される形で入力することが基本です。
入力後はセルの書式設定を使い、yyyy/mm/dd、yyyy年m月d日、和暦など、用途に合った表示形式へ整えましょう。
見た目の表示形式と、Excel内部の日付データは別のものだと理解すると、トラブルを避けやすくなります。
年、月、日が別の列にある場合はDATE関数を使い、8桁の数値データはLEFT関数やMID関数、RIGHT関数を組み合わせて変換できます。
年齢の計算にはDATEDIF関数を使うと、誕生日がまだ来ていない年も正しく判定できます。
日付が左寄せになったり計算できなかったりする場合は、文字列として保存されていないかを確認し、区切り位置機能などで日付へ変換しましょう。
生年月日を正しく管理できるようになると、名簿、従業員台帳、顧客リスト、学校関連の一覧表まで、さまざまなExcel作業を正確に進められます。