なんでもエクセル(Nandemo Excel)

何でもエクセルでやってしまう そこのあなた。ようこそ

数式/関数:年月表記の文字列を月単位表記に変換する

勤続年数を「何年何ヶ月」と表示したいからと、DATEDIF関数の「Y」と「YM」で計算したものを「&」で繋いで文字列で表現する人が時々いる。

=DATEDIF(入社日,現在,"Y")&"年"&DATEDIF(入社日,現在,"YM")&"ヶ月"

やんのはいいけど、こんなものどうやって計算に使うのよ。

よくあるのは「職員の平均勤続年数を計算したい」みたいな話。とりあえず、その文字列から計算するのは止めときましょう。

=DATEDIF(入社日,現在,"M")

小学校で習ったと思うけど、計算する時は「単位を揃える」のが大前提。最初から月単位で表記しておけば、平均は AVERAGE関数で簡単に計算できる。

それでもあえて「何年何ヶ月」表記から計算したいという場合は、下の方法で月単位に変換できる。


=MAX(IFERROR(SUBSTITUTE(SUBSTITUTE(ASC({"0 ",""}&[@年月表記]&"0/120"),"ヶ月",""),"年"," ")*12,0))

こんな感じ。