プロが教える店舗&オフィスのセキュリティ対策術

いつもお世話になります。

タイトルのとおりなのですが、エクセル関数で
今日の日付を入力したら、3年後の3月末日や5年後の3月末日
といったように、○年後の3月末日を計算するには、どうすればいいでしょうか?

今日の日付は、A,B,C列に年,月,日と分けて入力する方法でも、
A列に年月日を入力する方法でもかまいません。

よろしくお願いします。

A 回答 (6件)

エクセルを使う年代の人が数え年を使うというが意外ですが。



B1に年数を入れる。

数え年のB1歳に達した最初の3月31日という意味だと下記の式
=DATE(YEAR(A5)+B1-1,3,31)

満B1歳に達した最初の3月31日という意味だと下記の式になります。
=IF(MONTH(A1)>3,DATE(YEAR(A1)+B1+1,3,31),DATE(YEAR(A1)+B1,3,31))
    • good
    • 7

#2さんの質問より


>>例えば今日2010年12月18日の3年後の3月末日とはいつのことでしょうか。
に対し
>求めたいのは、生年月日から「3歳に達する3月末日」です。
>「3歳に達する3月末日」は(2012/3/31)です。

「3歳に達する3月末日」という表現がわかりません。
ただ、例から想像するに数え年で3歳の時なら
=date(year(a1)+2,3,31)
となります
    • good
    • 2

A1に =TODAY()


B1に3年後の3月末を出す。
 =DATE(YEAR(A2)+3,3,31)
又は
 =DATE(YEAR(A2)+3,4,0)

○年後は、3を○年に変更してください。

2年後の2月末(2014年はうるう年で29日)を出すなら
=DATE(YEAR(A2)+2,3,0)
とする。3月の0日は、2月末日となります。
    • good
    • 0

単純に3年後だと


=DATE(YEAR(A1)+3,3,31)
今から3回目(1,2,3月の場合は2年後)だと
=DATE(YEAR(A1)+3-(MONTH(A1)<4),3,31)

3月に関係なく、入力日から3年後の月末日だと
=DATE(YEAR(A1)+3,MONTH(A1)+1,0)

※ABC列に分ける場合は、YEAR(A1)→A1、MONTH(A1)→B1に置き換えてください。
    • good
    • 0

例えば今日2010年12月18日の3年後の3月末日とはいつのことでしょうか。



単純に今日の年の3年後の3月末日なら2013年3月31日、
今日のちょうど3年後より後の3月末日なら2014年3月31日です。

前者なら今日の年に3を足すだけ。
後者なら今日と今年の3月31日を較べて、3月31日以前なら年に3を足す、そうでなければ年に4を足す。

この回答への補足

そこまで詳しく考えていませんでした。
ご指摘ありがとうございます。

求めたいのは、生年月日から「3歳に達する3月末日」です。
ですので、今日(2010/12/18)生まれの子なら、
「3歳に達する3月末日」は(2012/3/31)です。

補足日時:2010/12/18 19:05
    • good
    • 0

A1に今日の日付


B1に○年後の ○
C1に
=DATE(YEAR(A1)+B1,3,31)
としてください。
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A