プロが教えるわが家の防犯対策術!

MOSエキスパートのテキストにこのような問題がありました。

DATE関数を使って、ワークシート「会員名簿」のセル範囲【M4:M27】に会員期限を表示
会員期限は入会日から5年間
年、月、日はセル範囲【I4:K27】を参照

I列には入会年
J列には入会月
K列には入会日 
が入力されています。

解答としてこのような式がありました。
=DATE(I4+5,J4,K4-1)

会員期限んは入会日から5年間とあるので、
5年後の入会日よりも一日前、ということでこのような式になると思うのですが、
自分ではこの式を思いつかないなあ、と思いエクセル関係のウェブサイトで
DATE関数 5年後の日付
と検索すると、
DATE関数の 年 に+1や+2をするだけ
という記述もありました。http://www.relief.jp/itnote/archives/002862.php

私の疑問は2つあります。
①会員期限は入会日から5年間 は入会日から5年後の日付を違うのか
②テキストの解答例にある式で、会員期限が切れる日付は求められるのか。
 年+5、日-1 という簡単な指示だけでエクセルが日数が違う月、年等ありますが
 自動的に認識して計算してくれるのか。


①のほうが 小学生の算数の問題のような気がしますがよく理解していないので
お分かりになる方 ご教授くださいませ<(_ _)><(_ _)><(_ _)>

A 回答 (2件)

こんにちは!



横からお邪魔します。
すでに回答は出ていますが、

5年間は丸々5年というコトなので基準日から5年後の1日前というコトになると思います。
5年後にしてしまうと6年目に入ってしまいます。

質問の本題であるDATE関数とはかけ離れますが
「基準日」が1つのセルに入っている場合はEDATE関数で簡単に対応できます。

仮にA2セルに基準日(シリアル値)が入っているとすると
=EDATE(A2,60)-1
とすれば基準日から5年後の1日前が求められます。
(数式内の「60」とは「60か月後」です。)m(_ _)m
    • good
    • 1
この回答へのお礼

こんばんは!

エクセルの知識以前の五年後はいつ?という恥ずかしい質問にも答えてくださってうれしいです。
ありがとうございます(^_^)

EDATE関数というのは私にとって新しい関数です。
活躍しそうです。
みなさんの回答のほうがテキストの100倍分かりやすくて
独学の私にとって本当に助かっています。
改めてありがとうございます<(_ _)><(_ _)><(_ _)>

お礼日時:2017/04/23 21:41

① 有効5年間であれな5年後の入会日相当日は、期限末の翌日、が妥当です。


② 年月日が独立した数値扱いであれば、あえてDATE関数は不要でしょう。
    • good
    • 1
この回答へのお礼

早速の回答ありがとうございます。勉強になりました<(_ _)>

お礼日時:2017/04/23 16:47

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