最新受診日から次の受診日を表示する関数(再度)
前回回答をいただきましたが、また問題があったので質問します。
【次のの条件で次回受診期限日を表示する関数を、どなたか教えていただけますか?
65歳までは受診した日から3年ごとに受診。
65歳に到達した日から1年以内に受診、受診日より75歳に到達するまでは3年ごとに受診。
75歳に到達した日から1年以内に受診、受診日より1年ごとに受診。
受診日(A3)は最新受診日を常に打ち込んで更新するものとします。
年齢(A1)は関数で生年月日より、リアルタイムで表示。
以下のセルの並びで考えていますが、効率のよい方法もあれば教えてください。
タイプ1) 年齢(A1) 生年月日(A2) 受診日(A3) 次回受診期限日(A4)
または
タイプ2) 年齢(A1) 生年月日(A2) 受診日(A3) 次回受診期限日(A4) 65歳到達日(A6) 75歳到達日(A7)】
という質問をしました。
前回、の回答で
回答1
タイプ2で対応するのがA3に入力する式を省略できる点でベターでしょう。
A1セルには次の式を入力します。
=DATEDIF(A2,TODAY(),"Y")
A4セルには次の式を入力します。
=IF(DATE(YEAR(A3)+3,MONTH(A3),DAY(A3))<=A6,DATE(YEAR(A3)+3,MONTH(A3),DAY(A3)),IF(A3<=A6,DATE(YEAR(A6)+1,MONTH(A6),DAY(A6)),IF(DATE(YEAR(A3)+3,MONTH(A3),DAY(A3))<=A7,DATE(YEAR(A3)+3,MONTH(A3),DAY(A3)),IF(A3<=A7,DATE(YEAR(A7)+1,MONTH(A7),DAY(A7)),DATE(YEAR(A3)+1,MONTH(A3),DAY(A3))))))-1
A6セルには次の式を入力します。
=DATE(YEAR(A2)+65,MONTH(A2),DAY(A2))
A1セルを除いてセルの表示形式は日付にします。
A7セルには次の式を入力します。
=DATE(YEAR(A2)+75,MONTH(A2),DAY(A2))
という回答と
回答2
タイプ1
A1=DATEDIF(A2,TODAY(),"y")
A2=生年月日
A3=直近の受信日
A4=(LOOKUP(A1,{0,63,64,65,74},{3,2,1,3,1})+YEAR(A3)&"/"&TEXT(A3,"MM/DD"))-1
タイプ2
A1=DATEDIF(A2,TODAY(),"y")
A2=生年月日
A3=直近の受信日
A4=(LOOKUP(A1,{0,63,64,65,74},{3,2,1,3,1})+YEAR(A3)&"/"&TEXT(A3,"MM/DD"))-1
A6=DATE(YEAR(A2)+65,MONTH(A2),DAY(A2))
A7=DATE(YEAR(A2)+75,MONTH(A2),DAY(A2))
という回答をいただきましたが、よくみると
生年月日がS21.9.23だとし、近受診日がH21.7.4の場合
回答1 だと 受診期限がH22.7.3 となり
回答2 だと 受診期限がH24.9.22 になります。
実際は、受診して3年後がH24.7.3であり、65歳に到達するのがH23.9.23である為、
H24.9.22が受診期限だと65歳到達から1年以内だが、3年を過ぎてしまいます。
受診期限がH24.7.3となればよいのですが・・・・・
複雑なので難しいのでしょうか?
お礼
わぁー!!本当にありがとうございます!>< 初めて質問したので回答があるか不安だったのですが、参考URLまでつけてくださって感激してます! 問い合わせしてみます!ありがとうございますm(_ _)m