Excel関数を使って、和暦年月日をシリアル値変換


久しぶりにExcel関数を使用しました。日付の和暦⇒西暦変換には『昭和xx』『平成xx』などからの変換はよく記事を見ましたが、今回は『H20』『S45』などの和暦頭文字で表記されている場合の日付の妥当性について関数を作成したので記載します。

和暦文字列⇒年月日へ変換する
I2,J2,K2のセルがそれぞれ以下のように和暦年、月、日で入力されており、これらの年月日の妥当性をチェックしたい場合。
H20|02|11

=IF(I2&J2&K2=””,0,DATEVALUE(IFERROR(CHOOSE(CODE(ASC(MID(I2,1,1)))-82,”昭和”,”大正”),”平成”) & MID(I2,2,2) &”年”&J2&”月”&K2&”日”))

  • IF() 初めに空文字チェック
  • DATEVALUE() 日付をシリアル値に変換する。できない場合は#VALUEが表示される。

頭文字1文字(T,S,H)で和暦判断だけする関数

=IFERROR(CHOOSE(CODE(ASC(MID(L2,1,1)))-82,”昭和”,”大正”),”平成”)

  • ASC(MID(L2,1,1)) 1文字取得し、ASCII文字に変換(全角アルファベットを半角に)
  • CODE(),IFERROR() ASCIIの値、S(83),T(84)からインデックスを求め、和暦判断させる。当てはまらない場合(つまり’H’の時)はIFERRORにて判断しERRORの”平成”を表示させる。

 


投稿者: cova

ザムウ取締役CTO。2010年に香川県三豊市へ移住。フリーランスSEとして活動をはじめる。とある機構にて中小企業の経営支援と、小学校にてICT講習も務める。2022年現在、子育て支援NPO理事、短大専任講師を兼任する。 【主な資格】経営学修士(MBA)修了、国家試験応用情報技術者、国内初の夫婦ITコーディネーター。 その他、2022年4月:2児(4歳・1歳)の父。 #赤ちゃんから学ぶ経営学 を配信。