- 締切済み
ピボットテーブルをいくつも作らなくてよい方法は…?
セミナーの来客者に関する集計データを作成しようとしています。 元となるデータには、A列に性別(男性or女性)、B列に年齢(年齢が入力されていないデータは「未記入」)を表す数値があります。C列以降には各列ごとに異なるセミナー名が項目名として書かれていて(約50列)、それらの列に値がついている場合は「出席」「契約済」「登録済」のいずれかで、値のないセルは空白になっています。 これらの各列のセミナーごとに、「出席」+「契約済」の合計値、および「登録済」も含めた3つの値のデータの合計を、性別、年齢別(年代ではなく、「20~25」「26~30」といった年齢の分類で)に集計したいと考えています。 思いついた方法は、各セミナーごとにピボットテーブルをかけていく方法ですが(セミナーごとの集計のほか、集計対象の全セミナーの合計値も出すため)、セミナーの数が多く、ピボットテーブルを大量に作らなければならないという難点があります。毎月のように発生する作業なので、もっと効率のよい方法はあるでしょうか。ちなみに、関数などは使えますが、マクロは知識がなく使っていません。 状況があまりうまく伝えられていないかもしれませんが、不明点があれば補足します。皆さんのよきアドバイスをお待ちしています。m(__)m
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! 質問の解釈を間違えていたらごめんなさい・・・ ↓の画像のように表を作ってみました。 A列を作業列として利用させてもらっています。 とりあえず、女性の場合で、「出席」と「契約済」の数を合計するようにしています。 A13~A20は単純に1~8までの数値を入れています。 A2セルに =MATCH(D2,$C$13:$C$20,1) としてオートフィルで下へコピー そしてE13セルに =SUMPRODUCT(($A$2:$A$10=$A13)*($C$2:$C$10="女")*(E$2:E$10="出席"))+SUMPRODUCT(($A$2:$A$10=$A13)*($C$2:$C$10="女")*(E$2:E$10="契約済")) という数式をいれて 行方向と列方向へオートフィルでコピーすると 下のような表になります。 尚、「登録済」もデータに入れたい場合は 数式をアレンジすれば出来ると思います。 以上、参考になれば幸いですが まったく的外れの可能性もありますので その場合は無視してくださいね。m(__)m
- 某HN クロメート(Chromate)(@CoalTar)
- ベストアンサー率40% (705/1742)
セミナーをページフィールドにドラッグ これで足りなければピボットテーブルツールバーの ピボットテーブル - ページの表示 でどうでしょうか >毎月のように発生する作業なので、 データの範囲が増えるのでしょうか?
お礼
回答有難うございます。m(__)m データの範囲は、セミナーの数の分だけ列が増えていきます。 (50列→次月は60列、といった具合) ピボットテーブルは、1つのシートの中で、セミナーごとにいくつもテーブルを作っています(現在、約50のピボットテーブルがあります)。新しく追加するセミナーがあると、既存のピボットテーブルをコピーし、集計する対象のセミナーの項目だけ入れ替えています。しかし、このやり方だと際限なくピボットテーブルが増え続けていくので、1つのピボットテーブルの中で集計する方法はないか(あるいは、もっと簡単な方法)と考えています。
お礼
有難うございます。m(__)m そのまま当てはまる方法というわけではなかったのですが、かなり近いので、これを参考にさせていただきます。