生年月日を表示するときは西暦?それとも和暦?
エクセルでデータ処理を行うとき生年月日などの日付入力の際【西暦年月日】で入力しますか?それとも【和暦年月日】で入力していますか?
また、入力された(した)生年月日などの日付は西暦年で表示しますか?それとも和暦で表示していますか?
社内ルールによって表示の仕方が決められていたり、役所等の文書に対応するため表示ルールに準じた表示設定の方法があると思いますが、まずはエクセルの日付情報の入力と表示の基本的な部分について考えてみたいと思います。
例として生年月日が2020年(令和2年)5月5日の日付データの入力で西暦年入力の場合と和暦年入力を想定し、エクセルに日付が入力された時の基本的な動きをみてみます。
日付の表示形式の試行錯誤を通して結果にたどり着いているので、記事が長くなっています。とにかく表示形式についてみたい方は以下のリンクから結果をご確認ください。
- 西暦年(和暦年)の順で併記表示の表示形式の設定を先にみる
- 和暦年(西暦年)の順で併記表示の表示形式の設定を先にみる
西暦年で入力
西暦年で日付データの入力時には『2020年5月5日、2020/5/5』といった入力が可能です。
上記のように『2020年5月5日』と入力すると、セルの幅を超えて文字列が表示されますが、Enterキーを押下して、セルへの入力を確定すると、セルの列幅が自動的に調整され入力した日付情報がセル内におさまり表示されます。
これはセルへの日付入力が確定されることでエクセルの特性として、日付を入力した際に表示するセルの幅(列幅)を自動的に調整してセル内に日付文字列が全て表示されるからです。
ただし、列幅の調整を先に行っている場合には日付入力に伴う列幅の自動調整は行われません。
半角数値とスラッシュで西暦年月日のデータとして『2020/5/5』と日付を入力したのち、【2020年2年5月5日】と表示されているセルを選択しています。
数式バーにはエクセルが計算・処理で使用する西暦年のデータの形【2020/5/5】と表示されていることも確認できます。
『2020年5月5日、2020/5/5』とセルに入力された内容をエクセルが数値【2020/5/5】(シリアル値)と判断し、該当セルの書式設定を「日付形式」に設定をし日付が表示されます。
和暦年で入力
和暦年での入力の場合は『令和2年5月5日、令2年5月5日、R2.5.5』といった入力が可能です。
上記のようにセル内に『令和2年5月5日』と入力すると、2020年5月5日と入力したときと同じように標準のセルの幅を超えて入力した文字が表示されます。
和暦で入力した場合も西暦年入力の時と同じように、日付を入力した際に表示するセルの幅(列幅)を自動的に調整してセル内に日付文字列が全て表示されます。
ただし、列幅の調整を先に行っている場合などには日付入力に伴う列幅の自動調整は行われません。
上記の例では、和暦の指定を『令和・令・R(eiwa)』と変えて入力しています。表示されている日付情報がセル内で右揃えになっていますが、これもエクセルの特性でセル内に入力された値が数値の場合右揃えにするといったものです。
また、西暦年入力時と同様確認のため【令和2年5月5日】と表示されているセルを選択してますが、数式バーにはエクセルが計算・処理で使用する西暦年のデータの形【2020/5/5】と表示されていることも確認できます。
エクセルの日付の取り扱い方と表示
西暦年での日付入力に比べ和暦での日付入力の場合は、セルに『R2.5.5、令和2年5月5日、S50.5.5(昭和)昭和50年5月5日、H30.5.5(平成)・平成30年5月5日』のように元号が識別できる内容とともに日付を入力することで、エクセルが入力されたデータを数値(シリアル値)として判断し、セル内で日付表示をしてくれます。
入力する内容が『令和・令・R』と異なっていても、エクセルの内部ではセルに入力された日付を数値(シリアル値)として認識してくれます。またその入力された日付の情報として西暦年・月・日の2024/10/10といった値で計算・処理するようになっています。
基本的にエクセルは日付の入力で、セル自体には西暦年・月・日(2024/10/10)といった数値が保持され、そのセルで指定された日付の書式設定に従ってセル内で西暦年・月・日だったり昭和年・月・日や平成年・月・日・令和年・月・日といった和暦で表示してくれることを認識しておくことが大事です。
WebDreamがエクセルで処理するときに、日付情報は西暦年・月・日で入力することが多いのですが、生年月日を含むデータ処理の場合は元データが和暦表示ということもあり、和暦での入力が必要なことがあります。
西暦年の生年月日に和暦情報を追加したい
西暦・和暦どちらで入力したとしても、エクセル内部でのデータの取り扱いは西暦年・月・日(2024/10/10)となっており、その日付全体を西暦年月日で表示したり、和暦で表示したりということはセルの書式設定で行うことができます。
以下のような生年月日を『S56.2.27』といったアルファベットの元号表示されている名簿データで、日付の書式設定を変えて表示を変更していきます。ここでは比較しやすいように同一セルではなく、D列以降に表示形式を変えて生年月日を表示します。
同一日付の表示形式を変更して検証するために、D列にC列の日付を表示する数式を入力しコピーを行い、日付の表示形式を変えて確認しています。
D列にC列の生年月日を表示し、【セルの書式設定】ダイアログボックスを表示して、〔分類〕→日付を選択し、〔種類〕→2012年3月14日と選択します。
西暦年・月・日の形式で表示されます。
同様に日付をコピーし、セルの書式設定を『yyyy/m/d形式・ggge年m月d日・gge年m月d日』と変えていくと以下のように生年月日が表示されます。
セルの書式設定
yyyy年m月d日形式
〔分類〕→日付
〔種類〕→2012/3/14
ggge年m月d日(元号年月日) 形式
分類で日付を選択したのち、カレンダーの種類を「グレゴリオ暦」から「和暦」に変更することで、元号のアルファベット表記と文字表記の選択ができるようになります。
元データはここで元号のアルファベット表記が選択されていて、S56.2.27、S62.7.3・・・といった表示形式となっていました。
〔分類〕→日付
〔カレンダーの種類〕→和暦
〔種類〕→2012/3/14
gge年m月d日(元号1文字年月日) 形式
令和・平成・昭和といった2文字の元号の部分を、令・平・昭と1文字で表示したい場合の書式設定です。分類で日付を選んでも種類の中にはないため、ユーザー定義で設定を行います。
元号年月日表記で表している【ggge】部分の【ggg】が2文字の元号の設定で【e】は和暦表示時の年を表します。元号部分を【gg】と変更することで元号を1文字で表すことができます。
〔分類〕→ユーザー定義
〔種類〕→gge年m月d日
このように入力された日付のセルの書式設定で表示形式を変更することで、希望する西暦表記や和暦表記を行うことが確認できると思います。
西暦年または和暦年を表示
日付が入力されたセルがあり、その日付の西暦年を表示したい場合は西暦年だけを表示する書式設定を指定し、和暦年を表示したい場合は和暦年だけを表示する書式設定を行うことで実現できます。
yyyy年(西暦年のみ表示)
〔分類〕→ユーザー定義
〔種類〕→ yyyy年
ggge年(和暦年のみ表示)
〔分類〕→ユーザー定義
〔種類〕→ ggge年
C列の生年月日の列は変更せず、D列に西暦年・E列に和暦年を表示するように設定した結果、以下のように表示されます。
西暦年や和暦年を表示する列を別途設けるか、日付が入力されたセルの表示形式を変えれば西暦・和暦どちらも確認することは可能ですが、実際のデータ処理や確認の場面では列の追加ができず、同一セル内で西暦年と和暦の日付を同時に見たいということが起こってきます。
同一セル内で西暦年と和暦年を表示
ここまできて同一セル内で西暦年と和暦年を併記するという本来の目的にたどり着くことができました。
生年月日を入力したセルで、西暦年と和暦年を確認できるようにしたいのですが
どうすればよいのでしょうか?
もともとはエクセルのデータ処理サポートの中で上記の質問を受けたことから、日付の書式設定について確認し対応したことが始まりです。
西暦年(和暦年)の順で表示
1981年2月27日を1981年(昭和56年)2月27日と、西暦年に続いて和暦年を併記して表すため表示形式を
【yyyy年 (ggge年) m月d日】 と設定します。
希望する表示である1981年(昭和56年)2月27日と表示されました。
「この表示の仕方でよろしいでしょうか」とサポート先に確認すると、生年月日なので和暦年がわかるように先に表示し、次に西暦年がわかるようにしてくれませんか?とのこと
単純に表示形式の順番を入れ替える
1981年2月27日を昭和56年(1981年)2月27日と、西暦年に続いて和暦年を表すには、WebDreamは
単純に【yyyy年(ggge年)】の順番を【ggge年(yyyy年)】と表示形式のユーザー定義で西暦年と和暦年の記載順番を逆にするだけでできると思い
【 ggge年(yyyy年) m月d日】 と設定してみました。
種類を入力した際に、このダイアログウィンドウ内のサンプル部分に【昭和56年(56年)2月27日】と表示されていることにWebDreamは気づいていませんでした。
結果はこの通りです。和暦年に続けて西暦年で表示するように【ggge年(yyyy年)】と指定したはずなのに、昭和56年(56年)と和暦年と同一年が表示されてしまいました。
西暦年だけや和暦年だけを指定したときには問題なく表示されましたが、和暦年(西暦年)といった順番では期待通りの表示にならなかったのです。
別のセルに表示してよいのであれば、TEXT関数等の数式を用いて表示することは思いついたのですが、今回は単一のセル内で同時に2つの情報を表示したいとのことなので、その場で解決できず確認後連絡をしますといったん持ち帰りとなりました。
和暦年(西暦年)の順で表示
表示形式を変えていろいろ試行錯誤したものの解決できず、マイクロソフトサポートに頼ることに・・・。
マイクロソフトサポートチャットで状況を説明し、エクセルで日付の入力において西暦年と和暦年を併記したい旨を伝えると回答として 【yyyy年(ggge年)m月d日】の回答をもらえました。残念ながらこの書式設定はWebDreamが最初に設定して併記できたもので、希望する併記の順番が逆です。
表示は和暦につづけて西暦の順で併記したい旨を伝えたところ、サポートの担当者から
【[$-ja-JP]ggge年 (bbbb年) m月d日】との回答をもらうことができました。
表示形式で入力する文字列の中で [$-ja-JP] は日本語を表すロケールIDです。このロケールIDを付けて【bbbb】と年を指定します。
表示形式の【bbbb】って? なにこれ?と思いながら、表示形式を変更し確認してみます。
希望する日付表示の完成
希望する昭和56年(1981年)2月27日と和暦年に続いて西暦年を表示することができました。
WebDreamはこの表示形式の方法は初めて知りました。マイクロソフトとしては日本独自の日付処理として【bbbb】を用いることで設定できると案内しているとのそうで、ある意味公式見解との案内でした。
意味や処理の経緯は気になるところではありますが、まずはサポート先の要望に応えるのが優先なので、上記の書式設定のユーザ設定内容を変更してもらい対応を済ませました。
まとめ
エクセルのデータ処理は奥が深く、特に日付の書式設定・表示形式についてのサポート依頼を受けると自身の勉強になります。
西暦年・和暦の順番はすぐできたのに、和暦年西暦年となると単純に表示形式の指定順番を変えるだけではないことがわかりとてもためになりました。
西暦年だけで処理を行っている場合はこのような問題に遭遇することはないと思いますが、和暦という日本独特な日付表記の対応をする場合においては日付の表示形式について方法を知っておくことは大事なことだと改めて感じています。
セルを分ければある意味簡単なのに、そのセル内で表示するといった制限が加わることで処理の仕方、考え方が必要になりますが、それを実現できるエクセルのすごさを再認識することができました。
今回はエクセルのサポートでの質問への対応にあたってマイクロソフトサポートへ確認して処理ができたこともあり、その内容を含め今回この記事にまとめています。
おことわり
WebDreamが確認したExcelの日付表示については、Microsoft365 PersonalのExcelバージョン2409(ビルド 18025.20104)で行っております。
【bbbb】の表示形式についてはexcel 2016 2019等でも機能搭載との情報をマイクロソフトサポートからいただいておりますが、WebDreamは上記バージョン以外の環境がなく、Excel旧バージョンでの確認を行えておりません。
本記事で記載した表示形式で和暦年(西暦年)といった併記ができない場合もあり得る点につきましてはあらかじめご了承くださいますようお願いいたします。