EXCEL VBA テーブル機能とSUMIF関数を利用した条件集計・選択集計(テクニック)

EXCEL VBA テーブル機能とSUMIF関数を利用した条件集計・選択集計(テクニック)

 

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

 

テーブル機能とVBAを組み合わせた集計方法(単一条件)

 

 

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

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

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

【作成したテーブルの範囲を指定します】
【テーブル名を設定する】
【別シートに役職別集計を作成します】


 

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

【上記のテーブルデータを元に職名ごとに集計します】

 

 

 

テーブル機能とVBAを組み合わせた集計方法(単一条件)+ 別シートに集計結果表を作成

 

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

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

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

 

 

 

 ●実行前~実行後 ※プログラム実行後、自動に集計表がデータの項目に応じて作成しました。

 

 

テーブル機能とVBAを組み合わせた集計方法(選択条件)+ 別シートに集計結果表を作成

 

 

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

下記のサンプルプログラムは、上記のサンプルプログラム①②を更に応用したサンプルプログラムです。今回は、シート「集計表」に集計区分を設定し、2つの区分「役職名」と「所属名」のいづれかを選択して、選択した区分に応じて、別シートに集計するサンプルプログラムです。下記のサンプルプログラムを実行する前に、サンプルプログラム①で説明しました様に事前に設定・登録する必要な事がありますので、下図を参照して下さい。

(注意)下記のプログラムを実行する場合は、下図の説明通りに設定をして下さい。

【下記のプログラムは、シート「集計表」に集計区分を設定して、集計区分に「所属名」・「役職名」いづれかを選択して「実行」を行い選択した集計表が作成されます。】

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



【集計区分の作成およびリストの作成方法】


【実行ボタンの作成については、下記のURLを参照して下さい】
https://akira55.com/button/

 

 

 

 

 ●実行前~実行後  ※プログラム実行を集計区分に応じて集計する区分によりデータが集計されました。

今回、EXCEL関数とVBAを組み合わせたプログラムになりましたが、このようなお互いの機能の良いところを合わせる事で、複雑な作業も簡潔なプログラムで作成する事が出来ますので、今後もこのようなプログラムを紹介させて頂きます。

 

 

 

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