質問: 多量のsumif式を軽くしたい お世話になっております。 今回、7000行~10000行程度のデータを集計するexcelシートを作成しています。 元データは 取引先cd 社名 分類cd 分類名 売上 粗利 在庫 001 a社 001 a 1200 120 1440 001 a社 002 b 1000 100 1200 001 a社 003 c 2000 200 2400 001 a社 004 d 300 30 360 001 a社 005 e 1500 150 1800 001 a社 006 f 200 20 240 002 b社 002 b 5000 500 6000 002 b社 004 d 10 1 12 003 c社 006 f 2200 220 2640 005 e社 005 e 100 10 120 のように会社別・分類別の売上・利益・在庫データです。 通常であれば、集計表を作るにはsumif関数で十分なのですが、 実際のデータは数千行あり、また項目ももっと多岐にわたるため、 再計算に時間がかかってしまいます。 (celeron1.2ghz、メモリ512mb位のノートpcで再計算に2~3分要します) sumif以外の方法で処理を軽くすることはできないでしょうか。 vbaを使って軽くなるのであればvbaでもかまいません。 ちなみに元データをいじることはできません。 (定型でシステムから出力されるデータであるため) 申し訳ありませんが、ご教示いただければ助かります。
回答: こういう データが多量 仕事関係(即時性が要求される) 正確が要求される課題(関数、vbaは自作すると、データが多い場合、なかなかほぼ間違いないとはいえないものだ) などの場合は、出来るなら、専用にプログラムが組まれている ピボットテーブルを使うべきです。 たとえれば「カンナとのみ」(関数)と木工機械(特別ツール)とぐらいの差があると思います。道具を選ばないと。 ーー vbaなら 会社+分類別にソートし(どれぐらい時間がかかるかな?)たら、他に、初めから終わりまで1通り読む時間で集計できます。 ロジックとしては、バッチ処理の定石なんですが、ここにコードを書くことは、課題丸投げのコードを作ってくださいに応じることになるので、省略します。