EXCEL VBA 条件に合う集計・一致する集計・合計の集計「Sumif・Sumifs」の使い方

 

EXCEL VBA 条件に合う集計・一致する集計・合計の集計「Sumif・Sumifs」関数の使い方

 

 

 ●はじめに

EXCELでデータ一覧を作成した際に、ある条件に合うデータを集計したり、指定したデータに一致するデータを集計する際に、便利な関数が、「Sumif・Sumifs」関数になります。「Sumif・Sumifs」関数を利用する事で、簡単なステップで指定した検索条件に合うデータを集計する事が出来ます。それでは、「Sumif・Sumifs」関数の使用方法をサンプルプログラムを交えて説明いたします。

 

●【COUNTIFS関数の使い方については、下記の情報を参照して下さい】

 

EXCEL VBA COUNTIFS関数 複数条件に一致するデータのセル数をカウントする。(条件に合うデータの件数集計・ワークシート関数)

 

 

 ●書式の説明 (SumIf)

WorksheetFunction.SumIf(検索範囲,検索条件,合計範囲)

※指定された検索条件に一致するセルの値を合計します。

使用例: Ans = WorksheetFunction.SumIf(Range(“E2:E5”), “男”, Range(“F2:F5”))

説明:検索範囲のセルE2~E5の中に、検索条件(性別)の”男”に一致する同じ行のセルF2~F5のデータを集計します。Ansには、1,300,000が代入されます。

 

 

セル範囲内で、検索条件を満たすセルの値の合計を返します。(Sumif)

 

 ●プログラム説明 サンプルプログラム① 「単独検索条件」

下記のプログラムは、Sumifを使ったサンプルプログラムになります。下表のデータ一覧から検索条件として「役職名」を入力します。入力した役職名の条件を満たす「支給合計」の合計金額をメッセージに表示させます。
(※下表のデータはサンプルデータです。)

 

 

 

 ●実行前~実行後 ※プログラム実行後、「役職名」を入力します。入力された「主任」に一致するデータの支給データを集計しました。 (画面クリックして拡大)

 

 

 

 

セル範囲内で、複数検索条件を満たすセルの値の合計を返します。(Sumifs)

 

 ●書式の説明(SumIfs)

WorksheetFunction.SumIfs(合計範囲,検索範囲1,検索条件1,検索範囲2,検索条件2,‥‥)

※指定された複数検索条件に一致するセルの値を合計します。

使用例: Ans = WorksheetFunction.SumIfs(Range(“F2:F5”),Range(“E2:E5”), “男”,Range(“B2:B5”), “<103”)

説明:検索範囲のセルE2~E5の中に、検索条件(性別)の”男”かつ、検索範囲のセルB2~B5の中の社員番号が”103”未満に一致する同じ行のセルF2~F5のデータを集計します。Ansには、750,000が代入されます。

 

 

 ●プログラム説明   サンプルプログラム② 「複数検索条件」 
下記のプログラムは、Sumifsを使ったサンプルプログラムになります。下表のデータ一覧から複数検索条件として「役職名」・「性別」を入力します。入力した役職名と性別の条件を満たす「支給合計」の合計金額をメッセージに表示させます。
(※下表のデータはサンプルデータです。)

 

 

 

 ●実行前~実行後 ※プログラム実行後、「役職名=主任」と「性別=男」を入力します。入力された「主任」かつ「男」に一致するデータの支給データを集計しました。このように、複数の検索条件を集計する事が出来ます。 (画面クリックして拡大)

 

 

 

セル範囲内で、指定する項目一覧に対して検索条件を満たすセルの値を合計を返します。(Sumif)

 

 

 ●プログラム説明   サンプルプログラム③ 「複数項目・検索条件」 
下記のプログラムは、Sumifを使ったサンプルプログラムになります。指定する項目一覧に対して検索条件に一致する支給合計を役職名ごどに集計表示します。
(※下表のデータはサンプルデータです。)

 

 

 

 ●実行前~実行後 ※プログラム実行後、シート右側にある役職名・項目ごとに集計したデータが代入されました。
(画面クリックして拡大)

 

 

セル範囲内で、指定する項目一覧に対して検索条件を満たすセルの値を合計を返します。(Sumif)別シート合計表示

 

 

 ●プログラム説明   サンプルプログラム④ 「複数項目・検索条件」 
下記のプログラムは、サンプルプログラム③の応用になります。Sumifを使ったサンプルプログラムですが、今回は、データが登録されているシート(データ)と集計結果を表示させるシートを別シート(集計表)に分けて、指定する項目一覧に対して検索条件に一致する集計結果を役職名ごどにシート(集計表)に表示させます。
(※下表のデータはサンプルデータです。)【下記のプログラムを実行準備】
① シート名を「データ」  ・・・給与データが一覧表示されている。
② シート名を「集計表」  ・・・集計表示されている。

 

 

  ●実行前~実行後 ※サンプルプログラムのワークシート「データ」を元に、役職名ごとワークシート「集計表」に集計結果が表示されました。
(画面クリックして拡大)

 

 

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