エクセル串刺し集計の完全ガイド|できない原因と関数の裏技を徹底解説
エクセル串刺し集計の完全ガイド|できない原因と関数の裏技を徹底解説を詳しくリサーチ! 読者が気になる 情報と解説を凝縮して配信します。
串刺し集計の最大の落とし穴として知られているのが、「利用できる関数が限られている」という仕様上の制約です。特に業務で多用されるエクセル串刺し集計COUNTIFやエクセル串刺し集計SUMIFSといった条件付き集計関数は、エクセルの基本仕様として3D参照に直接対応していません。これらを無理に3D参照で記述すると「#VALUE!」エラーが返されます。
この仕様の壁を突破し、複数シートにまたがる条件付き集計や複数シート自動集計を実現するためには、以下の2つの手法が実務で活用されています。
1つ目は、エクセル串刺し集計INDIRECT関数とSUMPRODUCT関数を組み合わせたクラシックな裏技です。あらかじめ集計対象のシート名一覧をセル範囲(例:A1:A12)に書き出しておき、以下のような数式を組みます。
=SUMPRODUCT(COUNTIF(INDIRECT("'"&$A$1:$A$12&"'!B2:B100"), "達成"))
この数式により、INDIRECT関数が各シートのセル範囲を順番に展開し、COUNTIFで条件判定を行った結果をSUMPRODUCTで合計することが可能になります。
2つ目は、Microsoft 365環境で標準化された新世代配列関数「VSTACK」を活用するスマートな解決策です。VSTACK関数は複数のシート範囲を縦方向に1つの大きな仮想テーブルとして結合します。
=LET(all_data, VSTACK('4月:3月'!A2:C100), SUMIFS(INDEX(all_data,,3), INDEX(all_data,,2), "東京支社"))
一度データを縦に積み上げてしまえば、使い慣れたSUMIFSやCOUNTIFS、FILTER関数を自由自在に適用できるため、従来の複雑な裏技を使わずに直感的なデータ集約が実現します。