質問: 西暦から和暦に変換について a列の1行目に199809というデータが入っています。 b列の1行目に和暦に変換して明治の場合は1、大正は2、昭和は3、 平成は4を表示したい c列の1行目に和暦に変換して1009と表示して下2桁目に01をつけたい のですが、関数の設定でできますか。 結果は a列の1行目199809 b列の1行目4 c列の1行目100901で表示したい。 教えてください。
回答: まず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 に設定する。