- ベストアンサー
【Excel】年齢・人数・性別を年代・性別毎に集計したい
業務上にて集計していたのですが、自分の知っている範囲で処理できず困っています。 まず以下のテーブルが前提にあります。 *********************************** 年齢 人数 性別コード 18 2 0 22 3 0 22 2 1 35 2 0 *********************************** ※性別コード 0が男性 1が女性です。 これを以下の表にまとめたいと思っています。 ***************************** 10代 20代 30代・・・ 男性 2 3 2 女性 0 2 0 ***************************** SUMPRODUCT関数でやってみたのですが、年齢別に人数が数える方法が分かりませんでした。よろしくご指導願います。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
ちょっと違うやり方になりますが、項目を一つ増やしてよければ D2に[=TRUNC(A2,-1)]と入力して、これを最終行までコピーします。 (これでD列には10代なら10、20代なら20、が入ります) 後は、ピボットテーブルで集計できます。
その他の回答 (3)
- nishi6
- ベストアンサー率67% (869/1280)
質問にある、年齢、人数、性別コードのまま、 行に性別コード、 列に年齢、 データに人数をセットし、 ピボットテーブルを作成し、 できたピボットテーブルの年齢を右クリックし、 グループとアウトラインの設定→グループ化で 先頭の値と単位を入力すれば終わりです。 わざわざ、10代、20代・・・と計算する必要はありません。 ピボットでは、これ以外に年月日を年や月単位に集計するよう設定もできます。
お礼
遅くなりましたが、ありがとうございました。参考になりました。
“別解”ということで… A B C D E F 1 年齢 人数 性別コード 年代 10 2 18 2 0 10代 20 3 22 3 0 20代 30 4 22 2 1 20代 40 5 35 2 0 30代 50 6 60 7 D2: =VLOOKUP(A2,$F$1:F$6,1) ユーザー定義書式: 0"代" 範囲 A1:D7 に対して作成したピボットテーブルレポート(ピボテ)を次のように表示させることができます。 合計/人数 年代 性別コード 10代 20代 30代 総計 男性 2 3 2 7 女性 2 2 総計 2 5 2 9 ただし、ピボテの「性別コード」の列を次のユーザー定義書式を設定しています。 [=1]"女性";[=0]"男性"
お礼
ご教授ありがとうございます。 表から細かく定義まで教えて頂き大変参考になりました。 ピボットテーブルで未だに基準を迷うのでとても丁寧で助かります。 ありがとうございました。
- redowl
- ベストアンサー率43% (2140/4926)
A列 B列 C列 1 年齢 人数 性別コード 2 18 上記のレイアウトで 仮に10代男性の人数を求める計算式 ($表記は 絶対番地) =SUMPRODUCT(($C$2:$C$5=0)*($A$2:$A$5>=10)*($A$2:$A$5<20)*($B$2:$B$5)) 性別条件式 ($C$2:$C$5=0) は男女 女性の場合は =1 に変更 年齢条件式 ($A$2:$A$5>=10)*($A$2:$A$5<20) は 10以上~20未満 この式の意味が分かれば、部分的に 数値を変えるだけ。
お礼
ご教授ありがとうございます。 SUMPRODUCT関数の使い方ひとつだったんですね。 すっきり集計できました。 ありがとうございます。
お礼
ご教授ありがとうございます。 ピボットテーブルのを使うという概念を失念していました。 こちらの方法参考に今後しようさせていただきます。