Excelで作業をしていると、「別のシートにあるデータを条件付きで合計したい」「複数のシートにまたがったデータをまとめて集計したい」という場面に遭遇することがあるでしょう。SUMIF関数は同じシート内での集計だけでなく、別シートや複数シートを参照した集計にも対応できます。
ただし、複数シートをまたいだSUMIF関数の使い方には、通常の使い方とは異なるポイントや注意点があります。「別シートを参照したら結果がおかしくなった」「複数シートをまとめて集計する方法がわからない」と困った経験がある方も多いのではないでしょうか。
この記事では、SUMIF関数で別シートを参照する基本的な書き方から、複数シートをまたいだ集計の方法・注意点まで、具体的な手順とともにわかりやすく解説していきます。シートをまたいだ集計作業をもっとスムーズに行いたい方はぜひ参考にしてください。
SUMIF関数で別シートを参照する基本的な書き方
それではまず、SUMIF関数で別シートのデータを参照して合計する基本的な書き方について解説していきます。
別シートのセルを参照するには、シート名の後に「!」(感嘆符)をつけてセル範囲を指定するのが基本ルールです。たとえば「データ」という名前のシートのA2からA100を参照するなら「データ!A2:A100」と書きます。

↓別シート


例:データ!A2:A100
これをSUMIF関数に組み込むと、以下のような形になります。
「データ」シートのA列から「東京」を検索し、対応するB列の金額を合計する数式です。
シート名にスペースや記号が含まれる場合の書き方
シート名に空白やハイフン・括弧などの記号が含まれている場合は、シート名をシングルクォーテーション(”)で囲む必要があります。
シート名に日本語やスペースが含まれることは実務ではよくあるため、この書き方は覚えておくと便利です。シート名をクリックして選択すると自動的にシングルクォーテーションが付くため、手入力よりも数式バーでシートを直接クリックして参照する方がミスを防げるでしょう。
別シート参照を手入力せずにマウス操作で設定する手順
別シートの参照を手入力するのが面倒な場合は、以下の手順でマウス操作だけで設定できます。
手順2:参照したいシートのタブをクリックして切り替える
手順3:条件を検索したいセル範囲をドラッグして選択する
手順4:カンマを入力し、検索条件を入力する
手順5:再度カンマを入力し、合計範囲をドラッグで選択する
手順6:「)」で閉じてEnterキーを押す
マウス操作でシートやセルを選択すると、シート名と範囲が自動的に数式に挿入されます。手入力よりも正確で速く設定できるため、ぜひ活用してみましょう。
絶対参照を使って数式を安定させる
別シートを参照するSUMIF数式を複数のセルにコピーして使う場合は、参照範囲がずれないよう絶対参照を設定しておくことが重要です。
範囲を選択した後にF4キーを押すと$マークが付いて絶対参照になります。数式をコピーしても参照範囲が固定されるため、集計表全体に数式を展開しやすくなるでしょう。
SUMIF関数で複数シートをまたいで合計する方法
続いては、複数のシートにまたがったデータをSUMIF関数で集計する方法を確認していきます。
残念ながら、SUMIF関数は標準の書き方では複数シートを一括で参照する「3D参照」には対応していません。SUM関数なら「=SUM(Sheet1:Sheet3!B2)」のような3D参照が使えますが、SUMIFでは同じ書き方は機能しません。そのため、複数シートをまたいだ条件付き集計には別のアプローチが必要です。
複数シートのSUMIFを足し算でまとめる方法
最もシンプルな方法は、各シートのSUMIF関数を足し算でつなぐやり方です。たとえば「1月」「2月」「3月」という3つのシートがある場合は次のように書きます。
+SUMIF(‘2月’!A2:A100,”東京”,’2月’!B2:B100)
+SUMIF(‘3月’!A2:A100,”東京”,’3月’!B2:B100)
シートの数が少ない場合はこの方法が最もわかりやすく、メンテナンスもしやすいでしょう。シートが増えた場合は数式に追記するだけで対応できます。
INDIRECT関数を組み合わせてシート名を動的に参照する方法
シートの数が多い場合や、シート名をセルで管理したい場合は、INDIRECT関数を使ってシート名を動的に切り替える方法が便利です。
たとえば、D列にシート名(「1月」「2月」「3月」など)が入力されている場合、以下のような数式で各シートのSUMIF結果を取得できます。
D2に「1月」と入力されていれば「1月!A2:A100」という参照が自動生成されます。D2の値を変えるだけで参照するシートが切り替わるため、シートが多い集計表でも効率的に管理できます。
集計用シートにデータを集約してからSUMIFを使う方法
複数シートの集計をよりシンプルに管理したい場合は、まず集計用シートにすべてのデータを集約し、そのシートに対してSUMIFを実行するアプローチも有効です。
各シートのデータを1つのマスターシートにコピー・貼り付けするか、Power Queryを使って自動統合することで、SUMIFを1つのシートに対してだけ書けばよくなります。データ量が多い場合や、定期的に更新が発生する場合はこの方法が長期的に管理しやすいでしょう。
別シート参照でSUMIFがうまく動かない原因と対処法
続いては、別シートを参照したSUMIF関数がうまく動かないときの原因と対処法を確認していきます。
別シートを参照する数式は、同一シート内よりもトラブルが発生しやすい場面があります。よくある原因を把握しておくことで、問題をすばやく解決できるでしょう。
結果が0になる・正しく集計されない場合
別シートを参照しているのに結果が0になる場合は、以下の点を確認してみましょう。
| 原因 | 確認・対処法 |
|---|---|
| 参照しているシート名が実際と異なる | シートタブの名前と数式内のシート名を照合する |
| 条件の文字列に全角・半角のズレがある | 参照先シートのデータ形式を確認して統一する |
| 数値が文字列として入力されている | 参照先のセル書式を数値に変更する |
| 参照範囲に余分なスペースが含まれている | TRIM関数でスペースを除去してから集計する |
特に、別シートのデータを他のソフトからコピーした場合は文字列として認識されていることが多いため、セルの書式確認は必須です。
シートを削除・移動したときの数式への影響
参照先のシートを削除すると、数式に「#REF!」エラーが発生します。またシートを別のブックに移動した場合は、参照先がブック名を含む外部参照に切り替わります。
外部参照は参照元のブックが閉じていると更新されないため、別ブックへの参照は極力避け、同一ブック内でデータを管理する方が安全です。
SUMIF関数で別シートを参照する際のパフォーマンスへの影響
別シートを参照するSUMIF関数は、同一シート内の参照に比べて計算負荷がやや高くなる傾向があります。特に、多数の別シート参照やINDIRECT関数との組み合わせが多い場合は、ファイルの動作が重くなることもあるでしょう。
大量データを扱う場合は参照範囲を実データ範囲に絞ったり、計算方法を「手動」に切り替えて必要なときだけ更新したりすることで、パフォーマンスを改善できます。
複数シートのSUMIF集計を効率化するポイント
続いては、複数シートにまたがるSUMIF集計をより効率的に行うためのポイントを確認していきます。
シート数が増えるほど数式の管理が煩雑になります。効率化のポイントを押さえておくことで、メンテナンスしやすい集計表を作れるでしょう。
シート構成を統一してSUMIF数式を使い回しやすくする
複数シートをSUMIFで集計する場合、すべてのシートで列構成・見出し・データ範囲を統一しておくことが非常に重要です。シートごとに列の順番や範囲が異なると、シートごとに別々の数式を書かなければならず管理が大変になります。
「1月」「2月」「3月」のような月別シートであれば、1つのシートをテンプレートとして作成し、それをコピーして各月のシートを作ると構成が統一されて管理しやすくなるでしょう。
テーブル機能を活用してデータ管理を整える
各シートのデータをExcelのテーブル(Ctrl+T)として定義しておくと、データが追加されたときに参照範囲が自動的に拡張されます。SUMIF関数の範囲指定にテーブル名を使えるため、行数の増減に対応した数式が作れます。
テーブル参照は列全体を動的に参照できるため、データが増えても数式を修正する必要がないのが大きなメリットです。
Power Queryでシートを統合してからSUMIFを使う
シートが多く、手動での管理が限界に近い場合は、Power Queryを使ってすべてのシートのデータを1つのシートに自動統合する方法が効果的です。Power Queryは「データ」タブから「データの取得」で利用でき、複数シートのデータを自動でまとめてくれます。
統合後のデータシートに対してSUMIF関数を1つ書くだけで集計が完了するため、数式の数を最小限に抑えられます。定期的に更新が発生するデータには特に有効な方法といえるでしょう。
まとめ
この記事では、ExcelのSUMIF関数で別シート・複数シートをまたいで合計する方法について、基本的な書き方から応用的な効率化のポイントまで詳しく解説してきました。
別シートへの参照は「シート名!セル範囲」という形で記述し、シート名にスペースや記号が含まれる場合はシングルクォーテーションで囲むのが基本です。複数シートの集計にはSUMIF同士の足し算や、INDIRECT関数を組み合わせた動的参照が有効な手段となります。
シート構成の統一やテーブル機能の活用、Power Queryによるデータ統合など、管理しやすい環境を整えることで複数シートにまたがる集計作業が格段にスムーズになるでしょう。今回紹介した方法をぜひ実務で活用してみてください。