- ベストアンサー
敬老の日
敬老の日に満75歳になる人を知りたいです。エクセルで生年月日を入力して今年の9月21日に満75歳になる人の数式の入力を教えてください。 よろしくお願いします。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (6)
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! No.1です。 昨日の回答とは少し異なりますが、 C列の数式も必要だという事なので C列に満年齢を表示させ、その年齢を参照して 満75歳以上の人の場合に「○」をD列に表示させるようにします。 昨日とは少し数式が変わります。 (B列に生年月日が入っているものとします) 前回の表をそのまま利用させていただいて、 C2セルを =IF(B2="","",DATEDIF(B2,"2009/9/21","y")) D2セルを =IF(OR(C2="",C2<75),"","○") として、C2・D2セルを範囲指定した後に オートフィルで下へコピーします。 これで希望に近い形にならないでしょうか? 以上、お役に立てれば幸いです。m(__)m
- merlionXX
- ベストアンサー率48% (1930/4007)
B2~B100の範囲に生年月日の入力がある場合、そのうち2009/9/21で75歳以上になる人の数は以下の算式で求められます。 =SUMPRODUCT((DATEDIF(B2:B100,"2009/9/21","Y")>=75)*ISNUMBER(B2:B100)) ISNUMBER(B2:B100)の部分は空白セル対策です。範囲内に空白セルがないなら*1で代用できます。 75歳だけなら、>=75 を =75 にします。
「生年月日を入力して今年の9月21日に満75歳になる人の数式」とは、何を求める数式ですか?その数式にどんな値を返して欲しいのですか?
- imogasi
- ベストアンサー率27% (4737/17069)
DATEDIF関数を知らないわけではないが、これに関しては =2009-75=1934であるから1933/9/22から1934/9/21までに生まれた人と言うことでよいのでは。ただし2008年は9月15日が敬老の日らしく、去年も表彰・報償されているような場合は、去年と2度かぶらない(もれない)ように考えて1933年の日付を設定するべきなのかな。 =IF(AND(A9>DATEVALUE("1933/9/21"),A9<=DATEVALUE("1934/9/21")),"●","") こういうことが出来るのも、日付は,エクセルでは日付シリアル値という1900年1月1日からの経過日数の制すうちだから出来ることです。判からないならGoogleで「日付シリアル値」で照会のこと。
- tom04
- ベストアンサー率49% (2537/5117)
No.1です! 何度もごめんなさい。 前回の回答で キーの打ち間違いがありますので訂正させてください。 >9/22以降であれば何年齢で75歳に・・・ ↓ 9/22以降であれば満年齢で75歳に・・・ です。 どうも失礼しました。m(__)m
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! 参考になるかどうか分かりませんが・・・ ↓の画像で説明させていただくと 表には必ず生年月日があると思いますので そのデータを元に D2セルに =IF(DATEDIF(B2,"2009/9/21","y")=75,"○","") という数式をいれてオートフィルで下へコピーしています。 これで2009/9/21日現在で満75歳の人に○が表示されるはずです。 尚、誕生日が同じ年でも9/22以降であれば何年齢で75歳になっていないので ○は表示されません また、満年齢が76歳以上の人も無視されます。 もし、満年齢が75歳以上の人に!という事であれば 数式を =IF(DATEDIF(B2,"2009/9/21","y")>=75,"○","") に変更してみてください。 以上、参考になれば幸いです。m(__)m
補足
ありがとうございます。すいません!Cセルの数式もお願いしたいです。あとは、9月21日現在で満75歳以上の方はすべてです。 画像ですと、2,3,5がすべて○になるように・・・。すいませんご無理いいますが、よろしくお願いします。