メインコンテンツへスキップ
見出し画像

[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」と入っていますが、
    この「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(年,月,日)の
    年に足します。

    画像
    例1の年号だけ
    左寄せになってしまってますが
    ご寛恕ください

    例7だと
    =DATE(C8+XLOOKUP(B8,I:I,K:K),D8,E8)
    この場合は、年号が空欄なので、何も足さないこととなります。
    前述のとおり、年号のリストは、I列の漢字のものでも構いませんが、XLOOKUP関数の中も合わせる必要があります。

    これだと、数式もスッキリし、修正も楽ではないでしょうか?
    (年号の場合は、ほぼメンテ不要なので、前述のものでもいのですが)

    おまけ
    令和は、2019年の5月1日からです。4月30日は、まだ平成。
    誤って、令和1年4月30日と書いてある書類のとおり入力しても・・・

    画像
    分かりやすいように年号を漢字表記しています。

    勝手に修正してくれます。
    これ、助かります。

    ちなみに、平成は、1989年1月8日から。
    これは忘れている人も多いのではないでしょうか?
    (この世代なら、自分で生年月日を書くでしょうから、間違えないかと思いますが)

    それにしても、同じ年の中で年号が変わるのは、わかりづらいですね。
    そもそも、行政文書も西暦で統一されれば、諸々楽なのですが・・・。

    以上


    あなたへのおすすめ