• ベストアンサー

期間を求めるエクセル関数について

期間を求めるエクセル関数について DATEDIF(B14,B16,"Y")&"年"&DATEDIF(B14,B16,"YM")&"ヶ月"という関数で求められる数値に+1にする関数があれば教えて下さい。 例えば、1983年4月~1985年6月の期間を上記の関数で求めると2年2ヶ月(26ヶ月)になるのですが、2年3ヶ月(27ヶ月)としたいのですがどうしたら良いでしょうか? 単純に考えて+1にすればいいので簡単なのかと思ったのですが、なかなか関数が作れませんでした。。。

質問者が選んだベストアンサー

  • ベストアンサー
  • akiomyau
  • ベストアンサー率43% (555/1280)
回答No.2

以下のような式でどうでしょうか。 =TEXT(DATE(0,DATEDIF(E8,D8,"M")+1,1),"y年mヶ月")

asuka0128
質問者

お礼

早急なご回答ありがとうございました! 教えて頂いた数式で問題を解決をすることができ助かりました。 1点質問がございます。 上記の数式の場合、02年3ヶ月と出てしまうのですが、02年を2年と0を省いて表示することは可能でしょうか? 度々申し訳ございません。

その他の回答 (1)

  • FEX2053
  • ベストアンサー率37% (7991/21371)
回答No.1

DATEDIF関数にはバグがある、ということを大前提にして、ですね。 http://www.kenzo30.com/ex_kisotyu/ex_ks_tyukyu9_9_2.htm 後から加算する方法だと、N年12カ月とか出てきちゃうので結構面倒 な式になります。こんな風に出来ない訳じゃないんですが。 =IF(DATEDIF(B14,B16,"YM")=11,(DATEDIF(B14,B16,"Y")+1)&"年",DATEDIF(B14,B16,"Y")&"年")& IF(DATEDIF(B14,B16,"YM")=11,"1ヶ月",(DATEDIF(B14,B16,"YM")+1)&"ヶ月") むしろ、B14とB16をいじった方がスマートじゃないですか? 例えば C14: =DATE(YEAR(B14),MONTH(B14),1) C16: =DATE(YEAR(B16),MONTH(B16)+1,1) こうやっといて、C14とC16を参照するとか。 DATE関数は○年13月と入力しても、ちゃんと翌年1月に計算してくれますから。

asuka0128
質問者

お礼

早速のご回答ありがとうございました! 迅速な問題解決が出来助かりました。

関連するQ&A

専門家に質問してみよう