• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:最新受診日から次の受診日を表示する関数)

最新受診日から次の受診日を表示する関数

このQ&Aのポイント
  • 最新受診日から次の受診日を表示する関数について説明します。
  • この関数は、65歳までは受診した日から3年ごとに受診し、65歳に到達した日から1年以内に受診し、受診日より75歳に到達するまでは3年ごとに受診し、75歳に到達した日から1年以内に受診し、受診日より1年ごとに受診するルールに基づいて次の受診日を計算します。
  • 質問者さんが希望するのは、65歳までは受診した日から5年ごとに受診する場合です。その場合、A4セルの数式の「62」の部分を「124」に変更する必要があります。

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

  • ベストアンサー
回答No.1

動かせる環境がないので勘になりますが、一行目の「DATEDIF(A$2,A$3,"Y")>62」を「DATEDIF(A$2,A$3,"Y")>60」に最後から2行目から始まる「IF(DATEDIF(A$2,A$3,"Y")<75,3,1)」を「IF(DATEDIF(A$2,A$3,"Y")<65,5,IF(DATEDIF(A$2,A$3,"Y")<75,3,1))」と変更すれば動くと思います。 変更理由は一行目は最終受信日時の年齢が62歳より大きい場合となっているので5年に変更、そのままだと62歳で受診したとき次に来るのが67歳になると思います。 最後から2行目の変更理由は65歳以下の3年ごとと65歳~75歳の3年ごとの計算を同じ場所でやっています(正確には最終最終受信日時の年齢が62~65または72~75ではない場合で最終受信日時の年齢が75歳より低いの場合最終受信日の3年後が受診期限日になる) なのでif文を増やしてあげ、65歳より低い場合は5年、75歳より低い場合は3年と治せば動くはずです。 後なのですがA4セルや他のセルを変更しても大丈夫でしたらの話になります。 if文が少し冗長になっていると思うので最終受信日時の年齢を保持するセルを使用したほうが良いと思います。 見栄えだけ変えたくない場合はセルを隠す。 if文も最終受信日時の年齢だけで判断させるのではなく、最終受信日時の年齢とその年齢時での次回受診期限日で判断させたほうがすっきりすると思います(今:最終受信日時の年齢が62~65歳の人は66歳までに来てね。例:最終受信日時の年齢が65歳より低い場合で次回受診期限日が66歳以上になる場合、66歳になるまでに来てね) その場合は今回のような変更があった場合1箇所の変更で済むはずです。 最後になりますが長文となりまた説明が下手で申し訳ありません。

eddy316
質問者

お礼

ありがとうございました。たすかりました。

関連するQ&A

専門家に質問してみよう