[EXCEL] 西暦と和暦が混在する年月日を効率的に入力する方法(和暦は年号違いが混在)
2026/6/1追記:本記事の「上位互換」記事です。是非どうぞ。
[EXCEL] 和暦・西暦混在の生年月日は入力が面倒!「年・月・日」を別々入力⇒合体する方法 ~入力・集計の実践トラブルレスキュー~
--- 元記事
【まとめ】
西暦と和暦が混在する年月日を効率的に入力する方法(和暦は年号違いが混在)
1 和暦と西暦との差年リストを作り、和暦から差年を判断し、年に足す。
=DATE(C8+XLOOKUP(B8,I:I,K:K),D8,E8)

2 IFS関数で条件分けする。

=IFS(
B2="R",DATE($C2+2018,$D2,$E2),
B2="H",DATE($C2+1988,$D2,$E2),
B2="S",DATE($C2+1925,$D2,$E2),
B2="T",DATE($C2+1911,$D2,$E2),
B2="M",DATE($C2+1867,$D2,$E2),
B2="西暦",DATE($C2,$D2,$E2),
B2="",DATE($C2,$D2,$E2)
)
【説明】
日付の入力方法は、過去に別記事で説明しています。
参照:[Excel]日付と時間の入力と表示(とりあえずのまとめ)
今月の日付なら Ctrl+;で今日の日付を入れて、BS (Back Space)で日付を消して、日付を入れ直すのが一番簡単でしょう。
しかし、生年月日など、異なる日付をいくつも入れていく際、この方法は面倒です。
また、年・月・日を「/」や「.」で区切りながら入力するのも面倒です。
(テンキーがあると入力しやすくなります。日付(や数値)の入力が多い人は、ぜひ、テンキーを買ってもらいましょう。)
しかも「お役所」の場合は「和暦」での入力となります。
書類に書いてある年月日も、基本、和暦です。
全て「令和」ならいいのですが、生年月日とか建築年月日などは、当然、令和以前もあります。
これだと、テンキーだけでは対応できません。
和暦の年月日を、頭の中で(あるいは和暦早見表を見ながら)西暦に変換するのも面倒です(間違えます)。
これ、結構大変な作業ではないでしょうか?
でも、みんな、手作業で頑張ってやっているのではないでしょうか?
一つ二つならまだしも、数が増えれば時間も嵩み、疲労度も増します。
対応策を考えてみました。
基本は、「年」「月」「日」を別々に入力して、合体させる、です。
1 西暦の「年」「月」「日」⇒ 西暦の「年月日」
まずは、西暦で「年」「月」「日」を入れていく場合。

FとGは同じ数式が入っています。
列だけ「絶対参照」($付き)にしてあります。
基本は、「年」「月」「日」を別々にセルに入れ、DATE関数で「合体」させる、です。
=DATE(年セル,月セル,日セル)
で「年月日」が出ます。
*「年」は西暦である必要があります。
*出来上がった年月日は「セルの書式設定」で和暦にできます(G列)。
2の① 和暦の「年」「月」「日」⇒西暦の「年月日」
入力する数値の元(書類の日付等)が西暦で書かれていればいいのですが、そうではない場合が多いでしょう。
そのため、単に和暦で入力すると・・・

例2のとおり、令和7年を「7」と入れても正しく計算されません。
これではダメです。
*エクセルの年計算は1900年からしかできないので「1900+7」で「1907年」となっています。
2の② 令和の場合
令和を西暦換算するには・・・

この「R」は単なる表示です。
例3
=DATE($C4+2018,$D4,$E4)
のとおり、年(C4)に「2018」を足す必要があります。
「令和を西暦にするときには、れ(0)い(1)わ(8)を足せばいい」なんてネタを見かけたこともあるでしょう。
ただし、「7」という年数は、当然「令和」だけには限りません。
「平成」も「昭和」も「大正」も「明治」もあります。
これをどう扱うか?
悩ましいところです。
2の③ 平成の場合

平成の場合は、例4のとおり、和暦の「年」に1988を足します。
=DATE($C5+1988,$D5,$E5)
2の④ 昭和の場合

昭和の場合は、例5のとおり、1925を足します。
=DATE($C6+1925,$D6,$E6)
2の⑤ 大正の場合

大正の場合は、例6のとおり、1911を足します。
=DATE($C7+1911,$D7,$E7)
2の⑥ 明治の場合

明治の場合は、例7のとおり、1867を足します。
=DATE($C8+1867,$D8,$E8)
ただし、エクセルは1900年からしか計算できないので、明治33年(1900年)以降しか扱えません。
明治・大正を生年月日として扱うことは少ないと思いますが、建築年などでは、まだまだ、利用の可能性があります。
上の例では、「明治・大正・昭和・平成・令和」の各年号について、「西暦年」「月」「日」から「和暦年月日」を出す方法を示しました。
しかし、実務では、どの年号が入るか分かりません。
年号によって計算式を変えるのは、非現実的です。
では、どうするか?
3 年号によって計算式を変える①
和暦の場合、年号によって西暦に足す数値が変わります。
ならば、条件(年号)によって数値を変える条件式を作ればいいのです。
例えば、「年号」欄(B2)が「R(令和)」なら
=IF(B2="R",DATE($C2+2018,$D2,$E2),・・・
これを、R/令和・H/平成・S/昭和・T/大正・M/明治 の分だけ作ればいいのですが、条件が沢山あるので、IFS関数を使います。
IFS関数は
=IFS(条件1,結果1,条件2,結果2,条件3,結果3,・・・)
と条件と条件に合致する場合の結果(数値、文字データ、数式等)を列記していきます。
これが、IF関数だと
=IF(条件1,結果1,IF(条件2,結果2,IF(条件3,結果3,・・・
と入れ子になって、ややこしくなります(結果は、IFS関数と同じになります)。
では、IFS関数で具体的にどういう数式にするか?
「年号」欄が「〇」なら「年に〇年を足す」という条件を作ればいいので・・・
=IFS(
B2="R",DATE($C2+2018,$D2,$E2),
B2="H",DATE($C2+1988,$D2,$E2),
B2="S",DATE($C2+1925,$D2,$E2),
B2="T",DATE($C2+1911,$D2,$E2),
B2="M",DATE($C2+1867,$D2,$E2)
)
上から、
上から、R/令和・H/平成・S/昭和・T/大正・M/明治 の順になります。
勿論、明治から始まっても問題ありませんし、順番は問いません。
条件を列記して、全体をカッコで括る、という感じです。
*職員(や家族)の生年月日なら、昭和と平成(と令和)だけで足ります。
3 年号によって計算式を変える② 西暦にも対応させる
ただし、上記だと、「年」の欄に西暦が入った場合は、対応できません。
最近の書類は、和暦でも西暦でも記入できるものが多いので、入力も、そのままできると楽です。
では、西暦の場合はどうしたらいいか?
条件の最後に西暦の場合を追加します。
=IFS(
B2="R",DATE($C2+2018,$D2,$E2),
B2="H",DATE($C2+1988,$D2,$E2),
B2="S",DATE($C2+1925,$D2,$E2),
B2="T",DATE($C2+1911,$D2,$E2),
B2="M",DATE($C2+1867,$D2,$E2),
B2="西暦",DATE($C2,$D2,$E2),
B2="",DATE($C2,$D2,$E2)
)
B2="西暦",DATE($C2,$D2,$E2)
は、「年号」欄に「西暦」とを入れた場合のものです。
B2="",DATE($C2,$D2,$E2)
は「年号」欄が空欄の場合です。

色が付いています(条件付き書式)
3 年号によって計算式を変える③ リストで年号を選ぶ
上の例でも対応できますが、面倒なのは、年号の入力。
令和/平成/昭和/大正/明治と入力するより、
R/H/S/T/M と入力することで手間は省けます。
でも、大文字と小文字とを間違えると正しく計算できません。
そのため、手入力より、リスト化しておいた方がいいでしょう。
こんなリストを用意しておいて・・・

リストは、左でも右でも、どちらでも構いません。
略称は後で(あるいはXLOOKUPで)、漢字に直せます。
一番上を空欄にしているのは、西暦の場合を想定しているためです(空欄だとわかりづらいかもしれないので、念のため、一番最後に「西暦」も入れています)。
*本来は、リストは別シートにすべきですが、わかりやすいように同一シート上に作っています。
そして、年号を入れたいセルを選択して、
Alt ⇒ A ⇒ V ⇒ V で「データの入力規則」を開き、

「リスト」を選び、「元の値」でリストを範囲指定します。

これで、リストから選択できるので、半角/全角等の間違いがなくなります。

こんなメモ(コメント)を入れておいてもいいでしょう。

3 年号によって計算式を変える③ 数式をスッキリさせる
せっかくリストを作ったので、和暦の隣に西暦との差を入れます。

これを使って数式を簡単にできないでしょうか?
そう、XLOOKUP関数を使って、選んだ和暦から、西暦との差を取り出します。
=XLOOKUP(年号のセル,年号の列,差の列)
で、年号に合致した「差」が取れます。
これを,
=DATE(年,月,日)の
年に足します。

左寄せになってしまってますが
ご寛恕ください
例7だと
=DATE(C8+XLOOKUP(B8,I:I,K:K),D8,E8)
この場合は、年号が空欄なので、何も足さないこととなります。
前述のとおり、年号のリストは、I列の漢字のものでも構いませんが、XLOOKUP関数の中も合わせる必要があります。
これだと、数式もスッキリし、修正も楽ではないでしょうか?
(年号の場合は、ほぼメンテ不要なので、前述のものでもいのですが)
おまけ
令和は、2019年の5月1日からです。4月30日は、まだ平成。
誤って、令和1年4月30日と書いてある書類のとおり入力しても・・・

勝手に修正してくれます。
これ、助かります。
ちなみに、平成は、1989年1月8日から。
これは忘れている人も多いのではないでしょうか?
(この世代なら、自分で生年月日を書くでしょうから、間違えないかと思いますが)
それにしても、同じ年の中で年号が変わるのは、わかりづらいですね。
そもそも、行政文書も西暦で統一されれば、諸々楽なのですが・・・。
以上
