アプリ版:「スタンプのみでお礼する」機能のリリースについて

「元号コード+元号年yy+月mm+日dd」というデータを、

(例1:3620401 【3=昭和,昭和62年4月1日】)
(例2:4021228 【4=平成,平成2年12月28日】)

「yyyy/mm/dd」の西暦の形に直したいと思っています。

excelでどのような関数を作ればよいのでしょうか?
元号コードは上記の昭和=3、平成=4のみです。

A 回答 (8件)

=IF(LEFT(J7,1)="3",MID(J7,2,2)+1925,MID(J7,2,2)+1988)&"/"&MID(J7,4,2)&"/"&MID(J7,6,2)



J7を、対象のセルに書き換えてください。
    • good
    • 0
この回答へのお礼

皆様の回答により解決しました。
たくさんのアプローチの仕方があるのですね。
本当に勉強になりました。

お礼日時:2007/10/05 17:10

仮にA1に3620401という数字が入力されているとすれば、


表示したいセルの中に、

=DATE(IF(MID(A1,1,1)="3",1925+VALUE(MID(A1,2,2)),1976+VALUE(MID(A1,2,2))),MID(A1,4,2),MID(A1,6,2))

と入力し、表示形式を好きなように変更してはどうでしょうか?
    • good
    • 0

私の知っている限りでは、一発でできそうもないですね。


ただ、ワークエリア等を使えばできそうです。まずコードをmid関数などで1桁2桁2桁2桁に4つのセルに分解して最初の1桁目を分解したセルで平成か昭和かを判断して表示させ、次の2桁を表示せるセルにVALUE関数を使ってゼロを消させて、(01を1と表示させます)同じ事を次の2桁、その次の2桁にやり、元号のセル、年のセル、月のセル、日のセルを&でつなげてやると良いと思います。
つまり、A1セルに3620401と入っていて、B1セルに昭和62年4月1日と出したいならとします。B1セルに=C1&D1&"年"&E1&"月"&F1&"日"、C1セルに=IF(LEFT(A1)=3,"昭和","平成")、D1セルに=VALUE(MID(A1,2,2))、E1セルに=VALUE(MID(A1,4,2))、F1セルに=VALUE(MID(A1,6,2))といれれば、B1セルに出ます。C以降のセルをかなり離れたところに設定するか非表示にすればそれなりに使えると思います。
    • good
    • 0

存在しない(たとえば昭和70年)などをエラーにしたい場合は工夫が必要です。

念のため。
    • good
    • 0

#1です。


#2さんの回答のほうがスマートですね。
    • good
    • 0

次の方法は如何でしょうか。


=IF(LEFT(A1,1)="3",DATE(MID(A1,2,2)+1925,MID(A1,4,2),MID(A1,6,2)),IF(LEFT(A1,1)="4",DATE(MID(A1,2,2)+1925,MID(A1,4,2),MID(A1,6,2)),""))
    • good
    • 0

違うアプローチで・・・


=DATEVALUE(MID("MTSH",LEFT(A2,1),1) & TEXT(RIGHT(A2,6),"00""/""00""/""00"))
    • good
    • 0

=DATE(IF(LEFT(A2,1)="3",1925+MID(A2,2,2),1988+MID(A2,2,2)),MID(A2

,4,2),RIGHT(A2,2))
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!