excel

【Excel】エクセルのSUMIF関数とVLOOKUPを組み合わせる方法(検索結果を条件に合計する・COUNTIFとの組み合わせも)

当サイトでは記事内に広告を含みます

ExcelのSUMIF関数は、条件に合ったデータを合計するときに非常に便利な関数です。さらに、VLOOKUPと組み合わせることで「別の表から検索した値を条件として合計する」という高度な集計が可能になります。たとえば、商品コードから商品名を取得し、その商品名に対応する売上を合計する、といった処理がスムーズに行えるようになるでしょう。

また、COUNTIFとの組み合わせを活用することで、集計と件数カウントを同時に管理する効率的な表づくりも実現できます。「関数の組み合わせは難しそう」と感じている方も、順を追って理解すれば決して複雑ではありません。

この記事では、SUMIF関数とVLOOKUPを組み合わせる方法を中心に、具体的な数式の書き方・使い方・COUNTIFとの組み合わせまでを丁寧に解説していきます。Excelの集計スキルをワンランク上げたい方にぜひ参考にしていただける内容です。

SUMIF関数とVLOOKUPを組み合わせる基本的な方法

それではまず、SUMIF関数の検索条件にVLOOKUPを組み合わせる基本的な方法について解説していきます。

SUMIF関数の第2引数「検索条件」の部分にVLOOKUP関数を入れ込むことで、別の表から取得した値を条件として合計処理を行うことができます。まずはそれぞれの関数の基本構文を確認しておきましょう。

SUMIF関数の構文:=SUMIF(範囲, 検索条件, 合計範囲)
VLOOKUP関数の構文:=VLOOKUP(検索値, 範囲, 列番号, 検索方法)

この2つを組み合わせると、以下のような形になります。

=SUMIF(条件範囲, VLOOKUP(検索値, 参照表, 列番号, 0), 合計範囲)

組み合わせの具体的な使用例

たとえば、以下のようなデータ構成を想定してみましょう。

G1セルに商品コード「A001」が入力されているとき、そのコードに対応する商品名をVLOOKUPで取得し、その商品名と一致する売上をSUMIFで合計する数式は以下のようになります。

=SUMIF(A2:A100, VLOOKUP(G1, D2:E50, 2, 0), B2:B100)

VLOOKUPがG1の商品コードをもとに「りんご」という商品名を返し、そのままSUMIFの検索条件として機能します。2つの関数が連携することで、コードから金額合計までを1つの数式で完結させられるのが大きなメリットです。

絶対参照を使って数式を崩れにくくする

この組み合わせ数式を複数のセルにコピーして使う場合、VLOOKUPの参照表や、SUMIFの条件範囲・合計範囲がずれないように絶対参照を設定しておくことが重要です。

=SUMIF($A$2:$A$100, VLOOKUP(G1, $D$2:$E$50, 2, 0), $B$2:$B$100)

G1のみ相対参照のままにしておけば、行をコピーしても検索するコードだけが切り替わり、集計表が自動で更新されるでしょう。

VLOOKUPがエラーになった場合の対処法

VLOOKUPで検索値が見つからない場合、「#N/A」エラーが返され、SUMIF全体もエラーになってしまいます。これを防ぐにはIFERROR関数を組み合わせるのが有効です。

=SUMIF($A$2:$A$100, IFERROR(VLOOKUP(G1,$D$2:$E$50,2,0),””), $B$2:$B$100)

VLOOKUPがエラーになった場合は空白を返すようにすることで、数式全体がエラー表示になるのを防げます。

SUMIF関数の検索条件にVLOOKUPの結果を活用する応用例

続いては、SUMIF関数とVLOOKUPの組み合わせをより実務的に活用する応用例を確認していきます。

基本的な使い方を理解したうえで、実際のビジネスシーンでどのように応用できるかを知っておくと、日常業務での活用イメージが広がるでしょう。

担当者コードから担当者名を取得して売上集計する

営業データでは、担当者がコードで管理されていることが多くあります。担当者マスタ表からVLOOKUPで担当者名を取得し、その名前をSUMIFの条件にして売上を集計する使い方は非常に実用的です。

=SUMIF($C$2:$C$100, VLOOKUP(H1,$F$2:$G$30,2,0), $D$2:$D$100)

H1に担当者コードを入力するだけで、対応する担当者の売上合計が自動で表示されます。マスタデータと集計データを連携させることで、メンテナンスしやすい集計表が作れるのがこの組み合わせの強みです。

複数条件が必要な場合はSUMIFSとVLOOKUPを組み合わせる

条件が2つ以上必要な場合は、SUMIFSとVLOOKUPを組み合わせることも可能です。たとえば、担当者名と地域の両方を条件にして合計する場合は以下のようになります。

=SUMIFS($D$2:$D$100, $C$2:$C$100, VLOOKUP(H1,$F$2:$G$30,2,0), $E$2:$E$100,”東京”)

SUMIFSの条件の一部にVLOOKUPを入れることで、コード検索と複数条件集計を同時に処理できます。

MATCH関数と組み合わせてより柔軟に列番号を指定する

VLOOKUPの列番号を固定値で指定していると、参照表の列が変更されたときに数式の修正が必要になります。MATCH関数を使って列番号を動的に取得すると、表の構造が変わっても数式が壊れにくくなります。

=SUMIF($A$2:$A$100, VLOOKUP(G1,$D$2:$E$50,MATCH(“商品名”,$D$1:$E$1,0),0), $B$2:$B$100)

MATCH関数が「商品名」という見出しを検索して列番号を自動で返すため、表の列順が変わっても対応できます。

SUMIF関数とCOUNTIFを組み合わせる方法

続いては、SUMIF関数とCOUNTIF関数を組み合わせて活用する方法を確認していきます。

COUNTIF関数は「条件に合ったセルの個数を数える」関数です。SUMIFと一緒に使うことで、合計額と件数を並べた集計表が作れ、平均単価の算出なども簡単に行えるようになります。

COUNTIFの基本構文と使い方

COUNTIF関数の基本構文は以下のとおりです。

=COUNTIF(範囲, 検索条件)

たとえば、A列の中で「東京」と一致するセルの個数を数えるなら次のようになります。

=COUNTIF(A2:A100,”東京”)

SUMIFと構文が似ているため、覚えやすい関数です。合計範囲の指定がない点だけが異なります。

SUMIFとCOUNTIFを組み合わせて平均単価を求める

SUMIFで合計、COUNTIFで件数を求めれば、その2つを割り算するだけで平均値が計算できます。

=SUMIF(A2:A100,”東京”,B2:B100)/COUNTIF(A2:A100,”東京”)

この数式で「東京」の売上合計を件数で割った平均売上が求められます。SUMIFとCOUNTIFを組み合わせることで、AVERAGEIFと同等の処理が手動で実現できるうえ、合計と件数をそれぞれ別セルに表示した集計表も同時に作れます。

集計表でSUMIFとCOUNTIFを並べて使う実践例

実務では、以下のような集計表を作ると非常に見やすくなります。

地域 売上合計(SUMIF) 件数(COUNTIF) 平均売上
東京 =SUMIF($A$2:$A$100,D2,$B$2:$B$100) =COUNTIF($A$2:$A$100,D2) =E2/F2
大阪 =SUMIF($A$2:$A$100,D3,$B$2:$B$100) =COUNTIF($A$2:$A$100,D3) =E3/F3

D列に地域名を並べてセル参照にしておくと、地域を追加するだけで集計表が自動拡張されます。実務での集計作業を大幅に効率化できるでしょう。

SUMIFとCOUNTIFは構文がほぼ同じなので、セットで覚えておくと非常に便利です。合計・件数・平均の3点セットを1つの集計表にまとめると、データ分析の基盤として活用できます。

まとめ

この記事では、ExcelのSUMIF関数とVLOOKUPを組み合わせる方法、そしてCOUNTIFとの組み合わせについて詳しく解説してきました。

SUMIF関数の検索条件にVLOOKUPを入れ込むことで、コードや番号から取得した値を条件にした集計が1つの数式で完結します。マスタデータと集計データを連携させることで、メンテナンス性の高い集計表が作れるのが大きなメリットです。

また、COUNTIFと組み合わせることで合計・件数・平均をセットで管理する集計表も簡単に作れます。関数の組み合わせに慣れてくると、Excelでできることの幅が一気に広がるでしょう。ぜひ今回紹介した数式を実際のデータで試してみてください。