【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?

生年月日を入力すると、年齢が表示され、その年齢区分の中にあるデーターの表示を行いたいのですが、やり方がわかわず教えてください。例)1960/01/01と入れると年齢が表示され、30〜35歳、35歳〜40歳などそれぞれの年齢区分を選択して、その中の数値を表示したいです。意味がわからないかもしれないので、画像に添付します。エクセルが得意な方お願いします。

「エクセルの使用方法について質問です。」の質問画像

A 回答 (2件)

こんばんは!



一例です。対象年齢は40以上として良いのですね?
年齢別の表の12行目の年齢分けの項目を↓の画像のように手を加えてみてください。

「40」の列 → 40以上~45未満
「45」の列 → 45以上~50未満
「50」の列 → 50以上~55未満
  ・
  ・
のような区分けになります。

以上の準備ができた上で
B3セルに
=IF(B2="","",DATEDIF(B2,TODAY(),"y"))

C6セルに
=IF(B$3="","",VLOOKUP(B6,B$18:H$25,MATCH(B$3,B$17:H$17,1),0))

という数式を入れフィルハンドルで下へコピーしています。m(_ _)m
「エクセルの使用方法について質問です。」の回答画像2
    • good
    • 0

ええと、それは・・・


 「代わりに作ってください」
という事でしょうか。

分からない点について質問をするサイトですので、そのような形での投稿はアウト。

・・・本題・・・

引き算で良いですよ。
 (今日の日付)-(誕生日)
基本は、こんだけです。

結果は「〇〇年〇カ月〇日」と言う形になりますが、
セルの表示形式によっては「19〇〇年〇月〇日」のようになったり、
「何じゃそりゃ」という数字がでてきたりします。

これはExcelが日付を「シリアル値」として扱っているためです。
(シリアル値についてご存じなければ、面倒でも調べて理解してください。Excelで日付や時間を扱う上で知っていなければならない事です)

セルの表示形式をユーザー設定にして「yy」としてしまえば良いでしょう。
(「歳」の文字は隣の列のセルに表示させておきましょう)
この質問の場合、TEXT関数で直接表示形式を指定したほうが良さそうなケースです。

・・・
数値の切り上げは、ROUNDUP関数
数値の切り下げは、RROUDDOWN関数
任意の数を基準に数値を切り上げる(1ダース単位など)には、CEILING関数
…を使います。
(5歳単位で数値を切り上げて、対象の区分にすればよいので、この場合はCEILING関数をつかうということ)
32歳の人なら、これで35歳と切り上げられるので、切り上げられた数値が35なら30~35歳の区分に入ると判断できます。

他にもIF関数を使い一つずつ分けるという方法もありますし、
MATCH関数とINDEXを使い区分を表示させるという事もできます。

MATCH関数は一致する値が無ければ、リスト(0,510,15…100,105,110,115,120)の中で一番近い小さい値の順位を返すように設定することで、
INDEX関数で区分を直接指定することができます。 
 例:
 A1セルに年齢を入力。
 =INDEX({40~44歳,45~49歳,50~54歳,55~59歳,60~64歳,65~70歳} , MATCH(A1,{40,45,50,55,60,65}))

・・・
区分を決定できたら、横方向にその値を検索するのでHLOOKUP関数を使います。
これもVLOOKUP関数と同じでよく使う関数です。
調べて理解したうえで使うようにしましょう。


・・・余談・・・
サンプルで次のように作成しました。
【参考】にしてください。
「エクセルの使用方法について質問です。」の回答画像1
    • good
    • 0

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