• ベストアンサー

18歳の3月31日のシリアル値

エクセルの関数についてお願いします。 生年月日が不特定多数における場合のそれぞれが18歳3月31日を迎えるシリアル値を取りたいのですが・・・ 例えば A君 平成3年5月1日 B君 平成4年8月20日 C君 平成6年12月13日 といったふうにばらばらの生年月日から、それぞれが18歳3月31になる日のシリアル値を取りたいのですが関数でいけるでしょうか? 突然で申し訳ないですがよろしくお願いします。

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

  • ベストアンサー
  • hinebot
  • ベストアンサー率37% (1123/2963)
回答No.1

一度(一つの式)でやるのはしんどいと思うので、ワンクッション入れさせていただきます。 まず、下準備として メニュー[ツール]-[アドイン]で[分析ツール]にチェック を入れてください。 (これは、EDATEという関数を使用できるようにするためです。) で、本題。 A列に誕生日が入っているとします。 A君がA1、B君がA2…という具合。 B列を計算用セルにします。(ワンクッション入れるといったのはこのことです。) B1に以下の式を入れます。 =EDATE(A1,12*18)  ※この式で満18歳の誕生日を出します。 18歳3月31になる日を入れるセルに以下の式を入れます。 =IF(MONTH(A1)>3,DATE(YEAR(B1)+1,3,31),DATE(YEAR(B1),3,31)) これで目的は達せられると思われます。  ※誕生月が1~3月なら同じ年、4月以降なら翌年の3月31日を返しています。 B2,B3セルも同様です。(コピペでできます。)

ken123
質問者

お礼

hinebotさま、早速のご回答本当にありがとうございます。たいへん助かりました。 EDATE関数は、X歳の誕生日を求めるのに使っていたのですが、少し変化球になるとなかなか・・・・ 本当にありがとうございました。 今後ともよろしくお願いします。

関連するQ&A