プロが教えるわが家の防犯対策術!

エクセル97です。
行数17000件以上の大きな表があります。
A列が地方(関東、東北とか)、B列が支店コード(8ABとか)、C列が支店名(大宮支店とか)、D列が社員コード(RX1234とか)、E列が社員名(山田太郎とか)、F列が社員の属性(記号でXXXとか)G列が顧客名(鈴木花子とか)、H列が購入商品種類(今回はすべて同一で仮にAAA)、I列が商品番号(0001とか)、J列に購入金額(13000とか)、K列に購入日(2003/5/10とか)
以下、AJ列までデータが入っています。

この表のG列の顧客名を名寄せし、その顧客がいくつ買ったか(=J列の購入金額の個数)、いくら買ったか(=J列の購入金額の合計)を集計し、上位ベスト100を出したいのです。ただし、顧客名は同姓同名がいるでしょうからあくまでA~C列が同一であるという条件で絞りたいのです。

データの並び替えでやろうかと思いましたが、17000件ではひるんでしまいました。
こういう場合、なにかいい方法はありませんでしょうか?

A 回答 (1件)

次にような処理はどうでしょう。



1.AJ列の次の列に、A,B,C,Gの各列を結合した列AKを作る(*)
2.ピボットテーブルで、AK列をキーにして、個数と金額の合計を集計する。
3.ピボットテーブルをどっかにコピーし、ソートで上位100人を選ぶ。

*の操作:
AK1 の内容を
=A1&B1&C1&G1
とし、それをAK17000までコピーする。
    • good
    • 0
この回答へのお礼

ありがとうございました。ピボットテーブルって使った事が無いので勉強させていただきます。
今回は、質問をかえて(簡略化して)再度投稿したところ、VBAで思った通りにできました。

お礼日時:2003/05/15 19:47

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