【Excel】エクセルで和暦を西暦に変換する方法(関数・DATEVALUE・元号・自動変換・年月日)では、令和、平成、昭和などの和暦表記を西暦の日付へ変換する方法を解説します。
名簿、履歴書、契約書、申請書、古いデータ、官公庁関連の資料では、和暦の年月日が使われることがあります。
一方で、集計やシステム登録では西暦の年月日を求められることが多く、エクセル上で変換できると作業が楽になります。
エクセルで和暦を西暦に変換するには、日付として認識できる形に整えてから表示形式やDATEVALUE関数を使うのが基本です。
ただし、令和1年、令和元年、R1、平成31年のように表記が混在していると、自動変換がうまくいかないことがあります。
また、和暦が文字列として入力されているのか、日付データとして入力されているのかによって対応方法が変わります。
それでは、エクセルで和暦を西暦に変換する方法を確認していきましょう。
エクセルで和暦を西暦に変換する結論は日付データ化して表示形式を変えることです
それではまず、エクセルで和暦を西暦に変換する基本結論について解説していきます。
日付データなら表示形式を変えるだけで西暦にできます
エクセルのセルに入っている和暦が日付データとして認識されている場合は、表示形式を変えるだけで西暦にできます。
たとえば、令和6年4月1日と表示されていても、内部的には日付のシリアル値として保存されている場合があります。
この場合、セルの表示形式を西暦の年月日へ変更すれば、2024年4月1日のように表示できます。
つまり、変換というより表示の見せ方を変えている状態です。
和暦が日付データとして認識されているなら、最初に試すべきなのは表示形式の変更です。
関数を使う前に、セルの中身が日付か文字列かを確認しましょう。
文字列の和暦は日付として変換する必要があります
和暦が文字列として入力されている場合は、表示形式を変えても西暦にならないことがあります。
たとえば、令和6年4月1日という文字が単なる文字列として保存されている場合、エクセルは日付として計算できません。
この場合は、DATEVALUE関数などを使って日付データに変換します。
日付データに変換できれば、表示形式を変えて西暦表示にできます。
和暦変換でうまくいかない原因の多くは、見た目は日付でも中身が文字列になっていることです。
元号の表記ゆれを整えると変換しやすくなります
和暦データでは、令和、R、平成、H、昭和、Sなどの表記が混在することがあります。
また、元年と1年が混ざっているケースもあります。
表記がばらばらだと、関数で処理するときに条件が増えて複雑になります。
変換前に表記ルールを整えておくと、エラーを減らしやすくなります。
| 和暦の状態 | おすすめ方法 | 注意点 |
|---|---|---|
| 日付データ | 表示形式を西暦にする | 中身は変えずに表示だけ変わります |
| 文字列の和暦 | DATEVALUE関数で日付化する | 認識できる形式に整えます |
| 元号が略字 | 置換で表記を整える | RやHの意味を統一します |
| 元年表記 | 1年へ置換する | 関数処理しやすくなります |
表示形式で和暦を西暦に変換する方法
続いては、表示形式で和暦を西暦に変換する方法を確認していきます。
セルが日付として認識されているか確認します
まず、対象セルが日付として認識されているか確認します。
セルの表示形式を標準に変えたとき、数値が表示される場合は日付データとして扱われている可能性があります。
一方で、表示形式を変えても文字がそのまま残る場合は、文字列の可能性があります。
日付データであれば、表示形式を変えるだけで西暦表示にできます。
関数を入れる前に、まずセルが日付なのか文字列なのかを見分けることが大切です。
西暦の表示形式を指定します
日付データを西暦で表示するには、セルの表示形式を日付形式に変更します。
年、月、日を表示したい場合は、西暦の年月日形式を選びます。
ユーザー定義の表示形式を使うと、より細かく見た目を調整できます。
西暦の年月日で表示したい場合は、yyyy年m月d日のような表示形式を指定します。
2024年4月1日のような見た目にできます。
この方法は、元のデータが日付として正しく入力されている場合に最も簡単です。
表示形式の変更は元データの値を変えません
表示形式を変更しても、セル内部の日付値自体は変わりません。
見た目だけが和暦から西暦へ変わります。
そのため、集計や並べ替えにもそのまま使いやすいです。
ただし、別システムに取り込むために西暦の文字列として必要な場合は、TEXT関数などで文字列化することもあります。
表示形式の変更は、見た目を変える操作です。
西暦の文字列として出力したい場合は、別途TEXT関数や値貼り付けを使うことがあります。
DATEVALUE関数で和暦を西暦の日付に変換する方法
続いては、DATEVALUE関数で和暦を西暦の日付に変換する方法を確認していきます。
DATEVALUE関数は文字列の日付を日付データに変換します
DATEVALUE関数は、文字列として入力されている日付を、エクセルの日付データに変換する関数です。
和暦の文字列がエクセルで認識できる形式になっていれば、DATEVALUE関数で日付化できる場合があります。
A2セルに令和6年4月1日と入力されている場合、=DATEVALUE(A2)で日付データに変換できることがあります。
変換後に数値が表示される場合は、表示形式を日付に変更すると西暦で表示できます。
認識されない場合は、和暦の表記を整える必要があります。
元年表記は1年へ置き換えると処理しやすくなります
和暦では、令和元年や平成元年のように元年と表記されることがあります。
人が読むには自然ですが、関数で処理する場合は1年に置き換えた方が扱いやすいことがあります。
検索と置換を使い、元年を1年へ置換してからDATEVALUE関数を使うと変換しやすくなります。
ただし、元年という文字が別の意味で使われていないかは確認しましょう。
元年表記が混ざっている場合は、変換前に表記ゆれを整理するのが安全です。
略字の元号は置換してから変換します
R6.4.1やH31.4.30のような略字表記は、そのままではDATEVALUE関数で認識されない場合があります。
この場合は、Rを令和、Hを平成、Sを昭和のように置換してから変換すると処理しやすくなります。
ただし、アルファベットが別の意味で使われているデータでは、単純置換に注意が必要です。
| 表記例 | 整え方 | 変換時の注意 |
|---|---|---|
| 令和元年4月1日 | 令和1年4月1日にする | 元年を置換します |
| R6.4.1 | 令和6年4月1日にする | 区切り記号も整えます |
| H31年4月30日 | 平成31年4月30日にする | 元号を正式表記にします |
| 昭和64年1月7日 | 昭和64年1月7日のまま確認 | 実在する日付か確認します |
関数を使って元号別に西暦へ変換する考え方
続いては、関数を使って元号別に西暦へ変換する考え方を確認していきます。
元号ごとの開始年を使って計算します
和暦の年を西暦に変換する場合、元号ごとの開始年を使って計算します。
令和は2019年開始、平成は1989年開始、昭和は1926年開始です。
和暦の年に開始年の前年を足すと、西暦年を求められます。
令和6年なら、6に2018を足して2024年になります。
平成31年なら、31に1988を足して2019年になります。
昭和64年なら、64に1925を足して1989年になります。
年月日まで変換する場合は、年だけでなく月日も正しく取り出す必要があります。
DATE関数で年月日を組み立てます
元号、年、月、日が別々の列に分かれている場合は、DATE関数で西暦の日付を作れます。
たとえば、A列に元号、B列に年、C列に月、D列に日が入っている場合、元号ごとに西暦年を計算してDATE関数に入れます。
この方法は、データが整理されているときに特に便利です。
文字列から無理に年月日を抜き出すより、列を分けて管理した方がミスを減らせます。
大量の和暦データを扱うなら、元号、年、月、日を別列に分けると変換しやすくなります。
後から確認や修正をする場合にも便利です。
存在しない日付に注意します
和暦を西暦に変換するときは、存在しない日付にも注意が必要です。
たとえば、平成31年は2019年ですが、平成31年は4月30日までです。
令和1年は2019年ですが、令和1年は5月1日からです。
このように、元号が切り替わる年は、同じ西暦年でも期間が分かれます。
元号の切り替わり付近の日付は、自動計算だけでなく実在する日付か確認することが重要です。
和暦変換でよくあるエラーと対処法
続いては、和暦変換でよくあるエラーと対処法を確認していきます。
日付として認識されない場合は表記を整えます
DATEVALUE関数でエラーになる場合、エクセルが日付として認識できない表記になっている可能性があります。
元号の略字、余分なスペース、ピリオド区切り、元年表記などが原因になることがあります。
まずは、置換や補助列を使って、令和6年4月1日のような分かりやすい形へ整えましょう。
表記が整えば、DATEVALUE関数で変換できる可能性が高くなります。
文字列として残したい場合はTEXT関数を使います
西暦の日付を文字列として出力したい場合は、TEXT関数を使います。
たとえば、日付データを2024年4月1日のような文字列として取り出すことができます。
A2セルに日付データがある場合、=TEXT(A2,”yyyy年m月d日”)で西暦の文字列として表示できます。
ただし、TEXT関数の結果は文字列になるため、日付計算にはそのまま使いにくくなる場合があります。
計算用の日付列と表示用の文字列列を分けると扱いやすいでしょう。
変換後は値貼り付けで固定します
関数で変換した結果を提出用データにする場合は、値貼り付けで固定しておくと安心です。
関数のままだと、参照元のセルを削除したときにエラーになることがあります。
また、他の人の環境で開いたときに表示が変わる可能性もあります。
変換結果を確認したら、コピーして値として貼り付けておきましょう。
| エラー内容 | 原因 | 対処法 |
|---|---|---|
| DATEVALUEでエラー | 日付として認識できない | 表記を整えます |
| 西暦にならない | 文字列のままになっている | 日付データへ変換します |
| 元年が処理できない | 元年表記が混在している | 1年へ置換します |
| 日付がずれる | 存在しない和暦日付 | 元号の期間を確認します |
まとめ
【Excel】エクセルで和暦を西暦に変換する方法(関数・DATEVALUE・元号・自動変換・年月日)では、まずセルの中身が日付データなのか文字列なのかを確認することが大切です。
日付データとして認識されている場合は、表示形式を西暦に変えるだけで変換できます。
文字列として入力されている場合は、DATEVALUE関数や置換を使って日付データへ変換します。
和暦変換で失敗しやすい原因は、元号の表記ゆれ、元年表記、略字表記、文字列扱いです。
令和、平成、昭和などの元号が混在している場合は、事前に表記を整えると処理しやすくなります。
また、平成31年や令和1年のような元号切り替わりの年は、実在する日付か確認することも重要です。
変換後のデータを提出する場合は、値貼り付けで固定しておくとトラブルを防げます。
表示形式、DATEVALUE関数、DATE関数、TEXT関数を使い分ければ、エクセルで和暦から西暦への変換をスムーズに行えるでしょう。