[Google-Spreadsheets]新元号「令和」対応!生年月日から元号・年齢・日数を割り出す表

先日発表された元号「令和」(れいわ、reiwa)ネタで、スプレッドシートで生年月日から元号(もちろん新元号対応)や年齢、誕生日までの日数を算出できる表を作ったので公開します。これまで元年は意識したことあっても「切り替わった日」はあまり着目してこなかったのでなんか新鮮でした。

作成したスプレッドシートの共有

細かいことは表にアクセスしてもらって数式を拾ってもらえればわかると思うので、ざっくりした仕様とコアな部分の記述だけさらっとご紹介。

仕様

  • D4列より下に生年月日を入れれば「年齢(D)・曜日(E)・元号(G)・日後(H)・日前(I)」が算出されるようになっている
  • 元号算出のデータはM~P列を参照
  • 算出方法は生年月日を「年・月日」で分割し、泥臭く計算(もっと軽快に算出する方法はある気がするが…)

元号算出部分の計算式

=if($O$4<=value(left($D4,4)),if($D4<$P$4,$M$5&value(left($D4,4)-$O$5+1),$M$4&if(value(left($D4,4)-$O$4+1)=1,"元年",value(left($D4,4)-$O$4+1))),
if($O$5<=value(left($D4,4)),if($D4<$P$5,$M$6&value(left($D4,4)-$O$6+1),$M$5&if(value(left($D4,4)-$O$5+1)=1,"元年",value(left($D4,4)-$O$5+1))),
if($O$6<=value(left($D4,4)),if($D4<$P$6,$M$7&value(left($D4,4)-$O$7+1),$M$6&if(value(left($D4,4)-$O$6+1)=1,"元年",value(left($D4,4)-$O$6+1))),
if($O$7<=value(left($D4,4)),if($D4<$P$7,$M$8&value(left($D4,4)-$O$8+1),$M$7&if(value(left($D4,4)-$O$7+1)=1,"元年",value(left($D4,4)-$O$7+1))),
if($O$8<=value(left($D4,4)),if($D4<$P$8,$M$9&value(left($D4,4)-$O$9+1),$M$8&if(value(left($D4,4)-$O$8+1)=1,"元年",value(left($D4,4)-$O$8+1))),
"")))))

式を見やすくするために改行入れてますが、もちろん一列で書いても動きます。
この他の細かいところはシート内のセルをご参照ください。

Share