Excel関数で和暦を西暦に変換する方法をお探しですね。
広告
Excelで和暦と西暦をカンタンに変換する方法【令和・平成対応】
Excelで生年月日や契約日を扱っていると、「2024/5/1を令和6年5月1日って表示したいな」とか「令和5年7月4日を西暦に直したい」って場面、けっこうありますよね。
和暦と西暦の変換って一見ややこしそうですが、Excelの日付の仕組みさえ分かれば、TEXT関数や表示形式を使って意外とカンタンに処理できるんです。
この記事では、Excel初心者の方でも分かるように、「令和・平成(和暦)」と「西暦」を相互に変換・表示する方法を整理して解説します。
まず知っておきたい!Excelの日付の仕組み
和暦と西暦を自由に変換するために、最初に押さえておきたいのが「日付データ」と「見た目の表示」は別物だということです。
たとえばセルに「2024/5/1」って入力すると、Excel内部では日付を**シリアル値**という連続した数値で管理しています。
その数値に対して、表示形式を変えることで「2024年5月1日」「令和6年5月1日」「R6.5.1」みたいに、見せ方を自由に変えられるんですね。
つまり、正しく日付として認識されているセルなら、和暦から西暦、西暦から和暦への表示変更はわりと簡単にできます。
注意したいポイント
見た目が日付っぽくても、Excelが日付として認識していない場合があります。
たとえば:
– 「令和6年」だけの文字列
– 「20240501」みたいに区切りのない文字列
こういうのは、そのままでは日付として扱えないことがあるんです。
TEXT関数や表示形式は、基本的に日付のシリアル値をもとに表示を変える機能です。
なので、和暦・西暦を安定して変換したいなら、**まず元データが日付として認識されているか確認する**のが大切です。
実務での使い分け
実際の仕事では、次のように使い分けると迷いにくくなります:
– **表示形式を変更**:元の日付データを保ったまま見た目だけ変える→集計や並べ替えに強い
– **TEXT関数を使う**:別セルに「令和6年5月1日」のような文字列を作る→帳票や提出用資料に向いている
ただし、TEXT関数の結果は文字列になるので、後から日付計算に使う場合は注意が必要です。
西暦を令和・平成などの和暦で表示する方法
方法1:表示形式を変更する(おすすめ)
西暦の日付を和暦で表示する一番基本的な方法は、**セルの表示形式を変更すること**です。
**手順:**
1. 対象セル(例:2024/5/1が入力されている)を右クリック
2. 「セルの書式設定」を開く
3. 「表示形式」から日付の種類を和暦に変更
この方法なら、セルの中身は日付データのままで、見た目だけが「令和6年5月1日」に変わります。
日付の計算やフィルター、並べ替えを行う予定がある表では、まずこの方法を試してみてください。
方法2:TEXT関数を使う
別セルに和暦表記を作りたい場合は、**TEXT関数**が便利です。
たとえばA1セルに「2024/5/1」と入力されている場合:
“`excel
=TEXT(A1,”ggge年m月d日”)
“`
これで「令和6年5月1日」と表示できます。
**表示形式コードの意味:**
– `ggg`:「令和」「平成」「昭和」などの元号
– `e`:和暦の年
– `m`:月
– `d`:日
年や月日を2桁でそろえたい場合は、`ee`、`mm`、`dd`を使います:
“`excel
=TEXT(A1,”gggee年mm月dd日”)
“`
これで「令和06年05月01日」と表示されます。
いろいろな和暦の表示パターン
和暦の表示形式は、用途に応じて使い分けられます:
| 表示形式 | 表示例 | 用途 |
|———|——–|——|
| `ge年m月d日` | R6年5月1日 | 略式(アルファベット) |
| `gge年m月d日` | 令6年5月1日 | 略式(漢字1文字) |
| `ggge年m月d日` | 令和6年5月1日 | 正式(公的書類向け) |
正式な帳票では「令和6年5月1日」のように元号を省略しない形が使いやすく、一覧表では「R6.5.1」のような短い表記が見やすいですね。
曜日も入れたい場合
曜日まで含めたい場合は、表示形式に`aaaa`を追加します:
“`excel
=TEXT(A1,”ggge年m月d日aaaa”)
“`
→「令和6年5月1日水曜日」
曜日を短くしたい場合は`aaa`を使うと「水」のように表示されます。
日付の表示を整えるだけなら関数を使わず表示形式でも対応できますが、CSV出力や差し込み印刷に使いたいという場合はTEXT関数が扱いやすいです。
令和・平成などの和暦を西暦に変換・表示する方法
方法1:表示形式を変更する
セルに「令和6年5月1日」と入力して、Excelが日付として認識している場合は、**表示形式を西暦に変更するだけ**で「2024/5/1」のように表示できます。
**手順:**
1. セルの書式設定を開く
2. カレンダーの種類をグレゴリオ暦にする
3. 表示形式を「yyyy/m/d」などに設定
この場合も、内部の日付データは同じで、見た目だけを変えている点がポイントです。
方法2:TEXT関数を使う
別セルに西暦を表示することもできます。
A1セルに日付として認識された和暦の日付が入っている場合:
“`excel
=TEXT(A1,”yyyy/m/d”)
“`
これで「2024/5/1」のような西暦表記を作成できます。
**表示形式コードの意味:**
– `yyyy`:西暦4桁
– `m`:月
– `d`:日
「2024/05/01」のように月日を2桁でそろえたい場合は:
“`excel
=TEXT(A1,”yyyy/mm/dd”)
“`
西暦年だけを取り出したい場合は`=TEXT(A1,”yyyy年”)`、和暦年だけなら`=TEXT(A1,”ggge年”)`のように書けます。
年別集計や検索がしやすくなるので、年だけを別列に出しておくのも便利です。
方法3:DATEVALUE関数で文字列を日付に変換
和暦の文字列を西暦に変換するときは、**DATEVALUE関数**の理解が欠かせません。
DATEVALUE関数は、文字列として入力された日付をExcelの日付シリアル値に変換する関数です。
たとえば:
“`excel
=DATEVALUE(“令和6年5月1日”)
=DATEVALUE(“R6/5/1”)
“`
変換後にシリアル値(数字)が表示された場合は、セルの表示形式を「yyyy/m/d」に変えることで西暦の日付として表示できます。
A1セルに和暦文字列が入っているなら:
“`excel
=DATEVALUE(A1)
“`
としてから表示形式を整える方法もあります。
DATEVALUE関数でいったん日付データに直しておくと、後からTEXT関数で和暦にも西暦にも表示し直せるので、データ整理の土台として有効です。
注意:月日がない文字列の場合
「令和6年」だけのように月日がない文字列は、そのままDATEVALUE関数に渡すとエラーになることがあります。
この場合は、実務上「その年の1月1日として扱う」などのルールを決めたうえで:
“`excel
=DATEVALUE(A1&”1月1日”)
“`
のように月日を補う方法があります。
ただし、年だけの情報を勝手に日付化すると、本来の意味とずれる可能性があります。
名簿の生年、契約年度、提出日など、何を表しているデータなのかを確認してから変換するのが大切です。
実務で失敗しないための注意点と使い分け
よくある失敗パターン
Excelで和暦と西暦を相互変換するときに最も多い失敗は:
– 「表示を変えたいだけなのに文字列にしてしまう」
– 「日付として扱いたいのに見た目だけを整えてしまう」
という混同です。
3つの方法の役割を整理しよう
| 方法 | 役割 | 使いどころ |
|——|——|———–|
| **表示形式の変更** | 日付データを保ったまま見た目を切り替える | 集計・並べ替えが必要な表 |
| **TEXT関数** | 指定した見た目の文字列を作る | 帳票・提出用資料 |
| **DATEVALUE関数** | 文字列の日付をExcelで扱える日付データに戻す | データ整理・変換 |
この3つの役割を分けて考えると、どの方法を選ぶべきか判断しやすくなります。
おすすめの運用方法
実務でのおすすめは、**元データはできるだけ西暦の日付データ**(つまりExcelが認識できるシリアル値)として管理し、必要に応じて和暦表示に変える運用です。
和暦は帳票や公的書類では重要ですが、データ集計や並べ替え、他システムとの連携では西暦の日付データのほうが扱いやすい場面が多いんです。
たとえば「令和6年5月1日」という文字列のままでは、日数計算や月別集計で思わぬエラーが起きることがあります。
**見た目は和暦、内部データは日付**という考え方を基本にすると、後工程で困りにくくなります。
Excelのバージョンにも注意
令和・平成・昭和などの元号をまたぐ日付では、Excelのバージョンや更新状況にも注意が必要です。
特に令和対応前の古いExcel環境では、令和の日付表示が正しく出ないことがあります。
現在のMicrosoft 365や更新済みのExcelであれば通常は令和に対応していますが、古いファイルを別環境で開く場合や、社内で複数バージョンが混在している場合は、表示結果を確認しておくと安心です。
VBAを使う場合も考え方は同じ
VBAを使う場合も考え方は同じです:
– 西暦の日付を和暦にする→`Format`関数で「ggge年m月d日」
– 和暦文字列を日付に直す→`DateValue`関数
たとえば:
“`vba
Format(Date, “ggge年m月d日”) ‘今日の日付を和暦表示
DateValue(“令和6年5月1日”) ‘日付データに変換
“`
ただし、VBAでも月日が不足した文字列や曜日付きの文字列はエラーになることがあるので、入力値の形式をそろえてから処理するのが安全です。
まとめ:よく使う表示形式コード一覧
最後に、よく使う表示形式をまとめておきます。
これを覚えておくと作業が速くなりますよ。
| 表示したい形式 | 表示形式コード |
|—————|—————|
| 令和6年5月1日 | `ggge年m月d日` |
| 令和06年05月01日 | `gggee年mm月dd日` |
| R6年5月1日 | `ge年m月d日` |
| 2024/5/1 | `yyyy/m/d` |
| 2024/05/01 | `yyyy/mm/dd` |
| 2024年5月1日 | `yyyy年m月d日` |
和暦と西暦の変換は、**単なる見た目の変更なのか、文字列への出力なのか、日付データへの変換なのか**を見極めることが重要です。
目的に合わせて表示形式、TEXT関数、DATEVALUE関数を使い分ければ、令和・平成を含む和暦と西暦をExcelで安定して扱えるようになります。
最初は少しややこしく感じるかもしれませんが、一度仕組みを理解すれば、あとはパターンを覚えるだけ。
ぜひ実際に試してみてくださいね!
広告
