Excel。元号年月日がセルごとにわかれているのを日付にしたいけど結構ややこしい
<文字結合・DATE関数>
セルごとに年月日がわかれている場合は、日付として認識されませんので通常の日付として表示したい場合、西暦だと簡単なのですが、元号で管理されている場合は、結構ややこしいことになるので、確認していきましょう。基本形から確認しておきましょう。
B列に年、C列に月、D列に日とわかれて管理されていますが、E列に日付にするには、DATE関数を使うことで対応できます。
E2をクリックして、直接数式を入力してもOKですが、DATE関数のダイアログボックスを表示してみることにします。
年に、B2。月に、C2。日に、D2と入力してOKボタンをクリックしてみましょう。
このように簡単に日付に変わりました。表示形式で和暦にすることもできます。
E2の数式は、
=DATE(B2,C2,D2)
です。
【英短縮元号を日付にするには、ハイフンで文字結合】
ところが元号で管理している場合は、DATE関数では太刀打ちできません。元号をアルファベットの英短縮元号から確認してみましょう。
A5のHは平成のHで、Rは令和を表すアルファベットです。
先程のDATE関数には、元号という引数はありませんので、使えません。
英短縮元号の場合は、ハイフンを使って文字結合すれば、日付文字列にすることができます。
E5に
=A5&B5&-C5&-D5
と入力してみましょう。
オートフィルを使って数式をコピーすると、令和も対応していることが確認できます。
これ文字では?と思うかもしれませんが、隣のセルに翌日の日付を入力します。
その日付とハイフンで結合した日付を減算してあげれば、1と算出されますので、日付として認識されています。
注意点としては、日付ではなくて、日付文字列になっています。通常の日付は入力されると、右揃えになりますが、文字を入力した時と同じ左揃えになっています。
【和暦元号は年月日を付けて結合する】
元号が、和暦。すなわち漢字で入力されている場合は、ハイフンで結合することができません。当然、DATE関数もつかえない。この場合は、&で文字結合するのですが、年月日をそれぞれ後ろにつけて結合する必要があります。
E9の数式は、
=A9&B9&"年"&C9&"月"&D9&"日"
英短縮元号と和暦元号で結合方法が変わりますので、注意が必要です。
氏名や住所などは、細かく分けて入力しておいて、セル結合させるように管理するといいのですが、日付に関しては、日付として入力して管理することをお勧めします。
【日付文字列を日付にする】
今回紹介したのは、日付ではなくて、日付文字列になっていますので、このままでは、表示形式で西暦変換することができません。どのようにしたらいいのでしょうか?
解決方法は次のようにすれば、日付文字列を日付に変換することができます。
最初に範囲選択して、表示形式を日付にしておきます。
今回は「標準」から「長い日付形式」に変更しました。
そして、E9の数式を次のように修正して、オートフィルを使って数式をコピーします。
=(A9&B9&"年"&C9&"月"&D9&"日")*1
カッコで覆い、×1するだけで、文字列を数値に変換することができます。
DATEVALUE関数を使う方法もありますが、「×1」するほうが簡単です。
本来ならば、シリアル値に変わるのですが、すでに表示形式を日付に変更していますので、西暦表示に変更することができました。
日付の管理・コントロールは実務でよく発生することなので、日付を入力する場合には、最初から日付として一つのセルに入力して、表示形式を使うことをお勧めします。