EXCEL VBA テーブル機能とSUMIFS関数を利用したクロス集計(テクニック)

EXCEL VBA テーブル機能とSUMIFS関数を利用したクロス集計(テクニック)

 

 ●はじめに 【クロス集計】
EXCELの機能でデータベースを管理する場合、とても便利な機能でテーブル機能があります。このテーブル機能は、データベースを管理する場合にとても便利な機能です。VBAと組み合わせて利用する事により、条件による集計やクロス集計なども容易に作成する事ができます。今回は、テーブル機能とSUMIFS関数およびVBAを利用したクロス集計処理の作成方法を説明いたします。

 

 

テーブル機能とVBAを組み合わせたクロス集計方法(Sumifs)

 

 

 ●プログラム説明 (サンプルプログラム①)

下記のサンプルプログラムは、テーブル機能とVBAを組み合わせたクロス集計方法になります。事前に、データをテーブルとして設定する必要がありますので、下図を参照に設定してください。なお、下表の通りに設定しないと、プログラムは正常に動作しません。

【下表のデータを作成してテーブル登録します。データ件数は、少なくても構いませんが、項目「店舗名」・「管理番号」・・等及び列番号についは、下表の通りに入力します。】

【合計に計算式とシート集計表を作成します】

【以上で事前作業が終了】

 

 

●実行前と実行後 ※プログラム実行後、テーブル機能とSUMIFSを組み合わせて、クロス集計を実行しました。事前に上記の通りに事前準備が必要ですが、プログラム的には、1行で集計処理できるので、とても簡単だとおもいます。

 

 

テーブル機能とVBAを組み合わせたクロス集計方法 + 別シートに集計結果表を自動作成

 

 ●プログラム説明 (サンプルプログラム②)

下記のサンプルプログラムは、上記のサンプルプログラム①の応用編です。サンプルプログラム①は、事前に別シートに集計結果を作成する必要がありますが、このサンプルプログラムは、シート「集計表」に店舗名・商品名のクロス集計表を自動作成するプログラムです。集計結果により表の項目数が自動調整できるので、結果表として見やすくなります。

(注意)下記のプログラムを実行する場合は、必ずサンプルプログラム①で説明しました「テーブルデータ」を登録してください。

 

 

 

 ●実行前~実行後 ※プログラム実行後、空白のシート「集計表」にクロス集計表が作成されました。今回は、Sumifsとテーブル機能を組み合わせでクロス集計を作成しました。このように、VBA+EXCEL関数を組み合わせる事で、複雑なクロス集計も簡単に作成する事ができます。

 

 

最後まで、ご覧いただきまして誠に有難うございました。
また、VBAに関するテクニックや便利な手法などをこのサイトに掲載していきますので、定期的に参照していただけると幸いです。