モンガーの小屋

日想、ラーメン・グルメ・レシピ紹介、映画・音楽・読書感想、PC・家電・ゲーム、DIY情報をつれづれなるままに。

エクセル 文字列の西暦を和暦にかえる

エクセルに標準・文字列で入力した西暦数字を和暦表示にかえる方法

エクセルの日付表示はちょっとややこしい。

まずは、エクセルに入力した西暦を和暦にかえるには
普通に入力されたものなら簡単です。

エクセル日付変換1
エクセルは、セルに「2013/09/04」とスラッシュを交えて日付を打ち込むと
自動的に日付表示に切り替わり「2013/9/4」という表示になります。

エクセル日付書式設定
で、そのセルを、「右クリック」→「セルの書式設定」→「(日付)・カレンダーの種類「和暦」」にすると
「H25.9.4」という表示に切り替わります。
普通にエクセル使ってる人ならたぶん誰でも知ってる初歩的な機能です。


ただ、この「2013/9/4」という表示。
スラッシュを入れずに「20130904」と入力した場合はどうなるかというと
20130904」のまま。そりゃそうですが。

エクセル日付変換2
この西暦数字を和暦に直すには、、、
セルを「右クリック」→「セルの書式設定」→「(日付)・カレンダーの種類「和暦」」にしても
「########」となり、まともに表示できません



これは入力された時点で、エクセルがその数字をどう判断したかによるためです。

「2013/09/04」→日付の「2013年9月4日」だな。
「20130904」→数字の「2千13万9百4」だな。

後者の数字と判断された場合、セルの書式設定は通常「標準」になってるはずです。
もしくはシート作成者が意図的に文字列の表示形式にしてる場合もあるかもしれません。

数字や文字列と判断されたものを、日付の西暦・和暦として扱いと思って書式設定を変えてもきちんと表示されません


では、標準の数字、もしくは文字としての「20130904」を和暦表示にするにはどうすればいいか。

いろいろ方法があるとは思いますが、手っとり早い方法として
区切り位置」の設定があります。

エクセル日付変換3
「20130904」と入力されたセルをクリックしておいて。
ツールバーのデータ → 区切り位置 → 区切り位置指定ウィザードを「次へ」で3/3までとばす。
列のデータ形式項目で日付「YMD」にチェック→完了。

これで「20130904」の数字(標準or文字列)が「2013/9/4」という日付として認識されました。
あとは、セルを「右クリック」→「セルの書式設定」→「(日付)・カレンダーの種類「和暦」」
で「H25.9.4」という和暦表示になるはずです。
VBAや関数を使うことなく変換が可能です。


おまけ
もし関数を使うなら。
A1のセルに「20130904」と入力。
B1のセルに「=DATE(LEFT(A1,4),MID(A1,5,2),RIGHT(A1,2)) と数式を入力。
B1のセルに「2014/9/4」と表示される。セルの書式設定で和暦に変更。
B1のセルをコピー → C1のセルに形式を選択してコピー(貼り付け項目で数式と数値の書式にチェック)
これでC1のセルに純粋な日付の数値が出来上がり。

関数解説
=DATE(LEFT(A1,4),MID(A1,5,2),RIGHT(A1,2))
DATE:日付として扱う
LEFT:A1の数値を、年にあたる左から4文字分抜粋
MID:A1の数値を、月にあたる左から5文字目から2文字分抜粋
RIGHT:A1の数値を:日にあたる右から2文字抜粋


関連記事
スポンサーサイト



コメントの投稿












管理者にだけ表示を許可する
トラックバック
この記事のトラックバックURL