プロが教える店舗&オフィスのセキュリティ対策術

A列の1行目に199809というデータが入っています。
B列の1行目に和暦に変換して明治の場合は1、大正は2、昭和は3、
平成は4を表示したい
C列の1行目に和暦に変換して1009と表示して下2桁目に01をつけたい
のですが、関数の設定でできますか。

結果は
A列の1行目199809
B列の1行目4
C列の1行目100901で表示したい。
教えてください。

A 回答 (4件)

A1データが 6桁数値 限定で。


一例
B1
=(SEARCH(TEXT(DATE(LEFT(A1,4),1,1),"ggg"),"明治大正昭和平成")+1)/2

C1
=TEXT(DATE(LEFT(A1,4),1,1),"ee")&RIGHT(A1,2)&"01"
    • good
    • 0

こんにちは。



これは、入力の際に非常に間違いやすいですね。桁の長さの限定をさせました。


B1:
=IF(OR(A1<190000,LEN(A1)<>6),"",MATCH(TEXT(TEXT(A1*100+1,"00!/00!/00")*1,"GGG"),{"明治","大正","昭和","平成"},0))

C1:
=IF(OR(A1<190000,LEN(A1)<>6),"",TEXT(TEXT(A1*100+1,"00!/00!/00")*1,"EMMDD"))

なお、平成元年は、その年の1月8日ですから、少しズレが生じますね。
198902から、4 になります。
明治は33年(1900年)以前は出せません。エラーに関しては、空白にします。
    • good
    • 0

まず1900年1月1日前は、むつかいいです。


自作となる。
ーー
>199809というデータ
これがあいまいです
(1)数字
(2)文字列(数字)
(3)日付シリアル値(通常の2007/11/2のような入力)
に表示形式(yyyymm)の設定結果
のどれか、明記してないのは、日付について利用経験が浅いことを示します
ーー
もうひとつ
年号は1月の途中で昭和ー>平成に変わった例があるごとく、月まででは年号は確定しません。それを考えないで、西暦=>和暦(邦暦)を変換したいとは説明不十分では。
ーーー
(2)であるとすると
何はともあれ日付シリアル値に直すことです。
その場合、日の情報はどうなったか判りませんが、1日と仮定します。
A1に199809 とあるとする。
=TEXT(DATEVALUE(MID(A1,1,4) & "/" & MID(A1,5,2)&"/01"),"geeyymm")
でH100901 とかになるから
先頭の1文字がMなら明治、平成Hなら4と出す。
C列は =TEXT(DATEVALUE(MID(A1,1,4) & "/" & MID(A1,5,2)&"/01"),"eemmdd")
これらも文字列数字になります。日付シリアル値のままならDATEVALUE関数で日付シリアル値化して、書式を eemmdd に設定する。
    • good
    • 0

B1: =FIND(LEFT(TEXT(TEXT(A1&"01","0000-00-00"),"geemmdd"),1),"MTSH")


C1: =MID(TEXT(TEXT(A1&"01","0000-00-00"),"geemmdd"),2,6)
    • good
    • 0

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