プロが教える店舗&オフィスのセキュリティ対策術

いつもお世話になっております。
お分かりになる方にもう一度お力をお借りしたいと思います。

シートが2つあり、AシートA2に名前を入力したら、Bシートからデータが入るようにVlookでひっぱってくるように関数をいれてあります。
Bシートには氏名、年齢、性別。。。とあり、年齢がそれぞれ記入されてあります。
10歳~19歳ならAシートの10代の列に1を立て、20~29歳なら20代に1を立てたいのです。
Bシート
氏名 年齢 性別
山田 19  男性
田中 35  女性
中田 59  男性
田口 32  男性
     
Aシート
最終↓のようなデータを作成したいのです。
氏名、10代 20代 30代 40代 50代 60代 男性 女性
山田  1
田中        1
中田              1
田口        1
合計  1     2      1

どうもこうもうまくいきません。Bシートに列を追加することは可能です。
山田を入力すると10代に1のフラグが立てればどんな関数でもOKです。
もし、おわかりになる方がおられましたら、是非ご教授いただきたいと思います。
手打ちした方が早いかなとも思うのですが、データが多いのでなんとか効率化と考えております。
宜しくお願い致します。

A 回答 (2件)

こんばんは!



https://oshiete.goo.ne.jp/qa/9123415.html
の関連質問ですかね?

↓の画像で、「A」SheetのB2セルに
=IF(INT(VLOOKUP($A2,B!$A:$B,2,0)/10)=COLUMN(A1),1,"")
という数式を入れ、列・行方向にフィル&コピーしています。

※ 男性・女性の列は割愛しました。m(_ _)m
「関数で年齢が10~19歳を10代列に1を」の回答画像1
    • good
    • 0
この回答へのお礼

こちらにも回答くださり、ありがとうございます。
9123415.htmlと同じデータで苦戦していました。。。
勉強になります。これで効率化間違いなしです。

お礼日時:2015/12/04 00:00

フラグを立てるのも一案ですが、集計すると思いますのでピボットテーブル案です


集計範囲が変わる場合
[Ctrl]+[F3]名前の定義
名前: PT範囲
参照範囲: =$A$1:INDEX($C:$C,COUNTA($A:$A))

ピボットテーブルの範囲: =PT範囲
行フィールドに 年齢
列フィールドに 性別
データフィールドに 氏名
を入れます。
行フィールドで右クリック - グループと詳細の表示 - グループ化
銭湯の値 10
末尾は自動
単位 10
追加、削除などの変更があった場合でも、ピボットテーブルの「データ更新」で更新されます
当方XL2003なので参考まで
「関数で年齢が10~19歳を10代列に1を」の回答画像2
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。
私もピボットも考えたのですが、他の列にも別データが入っていることもあり、様式を変えたくないのであきらめました。次回集計するときに使用したいと思います。ありがとうございました。

お礼日時:2015/12/04 19:13

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