エクセル串刺し集計のやり方と失敗原因を徹底解説!複数シート合計の裏技
エクセル串刺し集計のやり方と失敗原因を徹底解説!複数シート合計の裏技の方法について分かりやすく解説します。分かりやすいガイドをご覧ください。
実務を進める中で、「各シートの特定ステータス(例:『完了』)の件数だけを合計したい」「各シートから特定の商品コードの金額を引っ張って合算したい」というニーズに必ず突き当たります。しかし、前述の通りエクセル串刺し集計COUNTIFやエクセル串刺し集計VLOOKUPを直接実行することはできません。
エクセルの基本設計において、COUNTIFやSUMIFなどの「IF系関数」は、第1引数の範囲に1つの連続した2次元セル範囲しか受け付けない制約があるためです。この壁を突破し、高度な集計を実現する具体的なエクセル業務効率化裏技を伝授します。
裏技1:INDIRECT関数とSUMPRODUCTで条件付き集計を突破する
従来のExcel環境でも利用可能な代表格が、INDIRECT関数複数シート参照テクニックです。集計シートにあらかじめ集計対象のシート名一覧を書き出しておき、それらを順次評価させます。
例えば、集計シートのA1:A5セルに各シート名(「支店1」「支店2」「支店3」…)が入力されており、各シートのC列にある「合格」という文字の個数を集計したい場合、以下の数式を組みます。
=SUMPRODUCT(COUNTIF(INDIRECT("'"&$A$1:$A$5&"'!C1:C100"), "合格"))
この数式により、INDIRECT関数が各シートのセル範囲を配列として展開し、COUNTIFがそれぞれのシート内の「合格」をカウント、最後にSUMPRODUCTがそれらを合算します。VLOOKUPに関しても同様に、各シートから数値を抽出して足し合わせる応用が可能です。
裏技2:2026年最新エクセル関数まとめ(VSTACK×モダン集計)
2026年現在のMicrosoft 365およびExcel 2026環境であれば、難解なINDIRECT関数に頼る必要はありません。複数シートのデータを結合する動的配列関数「VSTACK(ブイスタック)」を用いるのが業界のデファクトスタンダードです。
=SUM(FILTER(CHOOSECOLS(VSTACK('1月:12月'!A2:D100), 4), CHOOSECOLS(VSTACK('1月:12月'!A2:D100), 1)="特定商品"))
VSTACKを使えば、全シートのテーブルをメモリ上で1つの巨大な縦長データとして結合できます。一度結合してしまえば、FILTER関数やXLOOKUP関数、GROUPBY関数(最新の集計関数)を用いて、自由自在に集計・抽出が行えます。数式のメンテナンス性も飛躍的に向上します。
裏技3:シート追加自動反映を実現する「両端ダミーシート技法」
月次業務などで「毎月新しいシートを挿入していく」運用を行っている場合、最も堅牢なのが「ダミーシート挟み込み技法」です。
- 集計対象シート群の左端に「開始」という名前の空のワークシートを作成します。
- 集計対象シート群の右端に「終了」という名前の空のワークシートを作成します。
- 集計シートのSUM関数を「=SUM('開始:終了'!B2)」と設定します。
今後新しいシート(例: 「7月」「8月」)を追加する際は、必ず「開始」シートと「終了」シートの内側に配置します。こうすることで、数式を一切変更することなく、シート追加自動反映が完全かつ安全に実現されます。