Excelやスプレッドシートで月別、部署別、担当者別に分かれたデータを扱っていると、複数のシートを1つにまとめて確認したい場面が増えます。
手作業でコピーすると時間がかかるうえ、元データの更新漏れや転記ミスも起こりやすくなります。
そこで役立つのが、SUM関数、VSTACK関数、参照式、一覧表の仕組みを使い分ける方法です。
目的に合う関数を選べば、複数シートに散らばる売上、在庫、勤務時間、経費などを、更新に強い集計表へまとめられるでしょう。
複数シート集計に向く関数の選び方

それではまず、複数のシートのデータを1つのシートにまとめる際に向く関数と、選び方について解説していきます。
合計だけを求める場合のSUM関数
複数シートにある数値を合計したいだけなら、最初に検討したいのはSUM関数です。
たとえば各月のシートで同じセル位置に売上額が入力されている場合、集計シートから該当セルを合算できます。
数値の合計だけが必要なケースでは、データを縦に並べ直さなくてもSUM関数で十分対応できることが多いでしょう。
月次報告書で各シートの合計額をまとめたい場合や、複数支店の経費を合算したい場合に適した方法です。
ただし、各シートで列の構成や入力位置が異なると、数式が複雑になりやすいため注意が必要です。
例として、1月から3月までのシートのB10セルを合計する場合は、SUM関数の引数に各セルを指定します。
=SUM(1月!B10,2月!B10,3月!B10)
シート名に空白が含まれる場合は、シート名をシングルクォーテーションで囲む形が基本です。
明細を縦に結合する場合のVSTACK関数
売上明細、顧客リスト、作業記録などを1つの一覧として並べたい場合は、VSTACK関数が便利です。
VSTACK関数は複数の範囲を上から下へ積み重ねるため、元の表を保ちながら統合用シートに表示できます。
一覧表を作成して検索、並べ替え、フィルターを使いたいなら、VSTACK関数による縦方向の結合が有力です。
Microsoft 365版のExcelなど、動的配列に対応した環境で使える関数なので、利用中のバージョンはあらかじめ確認しておきましょう。
各シートの見出し行を重ねてしまうと一覧が読みにくくなるため、2つ目以降のシートは明細行のみを参照する工夫も必要です。
条件検索を行う場合の参照関数
別シートにある商品名、単価、担当者名などを条件に応じて表示したい場合は、XLOOKUP関数やVLOOKUP関数、INDEX関数とMATCH関数の組み合わせが役立ちます。
これらは複数の表を単純に結合するための関数ではなく、キーとなる値をもとに必要な情報を引き出すための仕組みです。
たとえば商品コードを入力すると商品マスタから単価を取得し、売上シートへ自動表示する運用に向いています。
まとめる目的が合計なのか、一覧化なのか、条件に応じた情報取得なのかで、最適な関数は変わります。
| 目的 | 主な関数や機能 | 向いているデータ |
|---|---|---|
| 複数シートの合計 | SUM関数 | 月別売上、部門別経費 |
| 複数表の一覧化 | VSTACK関数 | 明細、名簿、記録 |
| 条件に合う値の取得 | XLOOKUP関数 | 商品マスタ、社員マスタ |
| 指定セルの表示 | 直接参照 | 定型レポート、集計画面 |
| 大量データの統合 | Power Query | CSV、複数ブック、定期取込 |
SUM関数と三次元参照
続いては、複数シートの数値を効率よく合計できるSUM関数と三次元参照を確認していきます。
同じセル番地を合計する基本式
複数シートの同じ場所に同じ項目が置かれているなら、SUM関数でセルを個別に指定する方法がわかりやすいでしょう。
たとえば各月シートの売上合計がB10にある場合、集計シートの任意のセルへ各月のB10を指定します。
シート数が少ない場合は、数式を見ただけで対象月を確認しやすい点もメリットです。
一方で、新しい月のシートを増やすたびに数式を編集する必要があるため、定期的にシートが増える管理表では負担になることがあります。
月別シートの売上を合計する数式の例です。
=SUM(4月!B10,5月!B10,6月!B10)
合計対象が多い場合は、セル参照を手入力するより、数式入力中に各シートをクリックして指定すると入力ミスを減らせます。
連続したシートを扱う三次元参照
1月、2月、3月のように連続して並ぶシートの同じセルを合計するなら、三次元参照を利用できます。
開始シートと終了シートを指定することで、その間にあるすべてのシートの同じセルを対象にできる点が特徴です。
三次元参照は、月次シートの書式とセル位置を完全にそろえられる運用で特に力を発揮します。
ただし、対象外のシートを途中に挿入すると予期しない数値まで含まれる可能性があります。
集計対象のシートを同じグループに並べ、表紙や説明用シートを範囲外に置くことが安全な設計につながります。
1月シートから12月シートまでのB10セルを合計する場合の例です。
=SUM(1月:12月!B10)
この数式では、開始シートと終了シートの間にあるすべてのシートのB10セルが合計対象になります。
SUM関数で失敗しやすい参照範囲
SUM関数は手軽な一方で、各シートのレイアウトが少しでも異なると正しい集計にならないことがあります。
ある月だけ行を追加し、売上合計のセルがB10からB11へ移動した場合、三次元参照では意図した値を取得できません。
また、数値に見える文字列や、エラー値が混在する場合も確認が必要です。
複数シートをSUM関数で集計する前に、項目名、列位置、合計セルの位置を統一することが重要です。
テンプレートシートを複製して毎月の入力表を作れば、構造のずれを抑えやすくなります。
SUM関数は数値の集計に優れますが、明細データそのものを1つの表へ移動する機能ではありません。
明細を横断して検索したい場合は、VSTACK関数やPower Queryなど、一覧化に向く方法を選びましょう。
VSTACK関数と一覧表作成
続いては、複数シートの明細を1つの一覧表へまとめるVSTACK関数の使い方を確認していきます。
VSTACK関数による縦方向の結合
VSTACK関数は、指定した複数のセル範囲を縦に積み重ねて表示する関数です。
たとえば東京、大阪、福岡の各支店シートに同じ列構成の売上明細がある場合、それぞれの明細を統合シートへ順番に並べられます。
元シートを編集せずに集計用の一覧を作れるため、現場の入力シートを維持したまま管理者向けのデータを整える場面でも便利です。
VSTACK関数の結果は元データと連動するため、各シートの入力内容を変えると一覧表にも反映されます。
ただし、数式の結果が展開される範囲に別の値が入っているとエラーになるため、出力先には十分な空白を確保してください。
3つの支店シートの明細を統合する基本例です。
=VSTACK(東京!A2:F100,大阪!A2:F100,福岡!A2:F100)
各範囲は同じ列数にそろえると、商品名、数量、金額などの項目を整った形で表示できます。
見出し行を重複させない工夫
各シートに見出し行がある状態でVSTACK関数を使うと、途中に同じ見出しが何度も表示されることがあります。
一覧表として使うなら、統合シート側に見出しを1行だけ作り、各シートからは明細部分だけを参照する方法が見やすいでしょう。
元データの見出しが1行目にあるなら、VSTACK関数ではA2行目以降を指定します。
さらに、拠点名や月名が元データに含まれていない場合は、どのシートから来たデータかわからなくなることがあります。
統合後に分析する予定があるなら、元シートを識別する列を明細側に持たせる設計が実用的です。
| 列名 | 内容 | 統合後の役割 |
|---|---|---|
| 対象月 | データの発生月 | 月別集計や比較 |
| 拠点名 | 店舗、支店、部署 | 拠点別フィルター |
| 商品コード | 商品を識別する番号 | マスタとの照合 |
| 商品名 | 販売または管理する名称 | 一覧での確認 |
| 数量 | 販売数や作業数 | 合計や平均の算出 |
| 金額 | 売上や経費の金額 | 集計の中心項目 |
空白行とエラーへの対処
VSTACK関数では、参照範囲を広めに指定すると、未入力の空白行まで一覧表に含まれる場合があります。
空白を減らしたいときは、VSTACK関数で結合した結果をFILTER関数で絞り込む方法が有効です。
商品コードや日付など、必ず入力される列を条件にして空白以外を抽出すると、一覧表の見た目が整います。
結合用の範囲は必要以上に広げず、空白を除く条件もあわせて設計すると、日々の確認が楽になります。
元データの列数が異なる場合には、空欄やエラーが発生しやすくなります。
すべてのシートで項目順と列数をそろえることが、VSTACK関数を安定して使うための前提です。
VSTACK関数は便利ですが、各シートの構造がそろっていなければ正確な一覧にはなりません。
まず入力テンプレートを統一し、その後に統合用シートを作成する順序が失敗を防ぎます。
参照関数によるデータ連携
続いては、別シートの情報を条件に応じて表示する参照関数によるデータ連携を確認していきます。
XLOOKUP関数による値の取得
XLOOKUP関数は、検索する値をもとに、指定した範囲から対応する情報を取り出す関数です。
商品コードから商品名と単価を表示したい場合や、社員番号から部署名を表示したい場合に活用できます。
従来のVLOOKUP関数と比べ、検索列が左端でなくても使いやすく、取得する列を柔軟に指定できる点が特徴です。
商品マスタや顧客マスタを別シートで管理し、入力シートではコードだけを扱う運用にXLOOKUP関数は適しています。
入力の表記ゆれを減らし、商品名や単価の更新をマスタ側へ集約できるため、データ品質の向上にもつながります。
商品コードがA2セルにあり、商品マスタのA列にコード、B列に商品名がある場合の例です。
=XLOOKUP(A2,商品マスタ!A:A,商品マスタ!B:B,”該当なし”)
最後の指定を入れておくと、見つからないコードが入力されたときに確認しやすくなります。
直接参照による定型レポート
毎月同じ場所に表示される数値を、報告用シートへそのまま表示したいなら直接参照でも対応できます。
たとえば月次シートの売上合計セルを、経営会議用の集計表へリンクさせる方法です。
数式は短く、参照元も確認しやすいため、小規模な定型レポートでは扱いやすいでしょう。
ただし、参照元のシート名やセル位置を変更すると数式が壊れる可能性があります。
直接参照は単純な表示に向きますが、複雑な集計やデータの統合まで担わせないことが大切です。
用途ごとに入力用、マスタ用、集計用、報告用のシートを分けると、ファイル全体の役割が明確になります。
参照エラーを減らす管理方法
参照関数を使うときは、検索キーの重複や表記ゆれに注意しましょう。
商品コードが重複していると、想定と異なる商品情報が表示されることがあります。
社員番号、取引先コード、注文番号のように、一意に識別できる値をキーとして使うのが基本です。
また、マスタシートを削除したり、列を大きく移動したりすると参照式に影響が出る場合があります。
参照元となるマスタは入力規則を整え、更新担当者と更新手順を決めておくとトラブルを抑えられます。
参照関数は複数シートをつなぐ重要な仕組みです。
キーの重複、入力ゆれ、マスタの更新漏れを放置すると、数式が正しくても誤った結果が表示されるため、データ管理のルールも整えましょう。
集計表を安定させる設計
続いては、複数シートの集計を継続的に使いやすくするための表設計と運用方法を確認していきます。
入力形式を統一するテンプレート
複数シートをまとめる作業では、各シートの列順や項目名を統一することが最も重要です。
月ごと、部署ごと、店舗ごとに入力者が異なる場合でも、共通テンプレートを使えば集計時の調整を減らせます。
日付、コード、名称、数量、金額といった基本列の並びを固定し、途中で独自の列を追加しないルールを決めるとよいでしょう。
関数の工夫よりも先に、データの形をそろえることが、複数シート集計の精度を左右します。
必要な補足項目がある場合は、すべてのシートに同じ列を追加するか、別表として管理する方法を検討してください。
テーブル機能と名前付き範囲
Excelのテーブル機能を使うと、行を追加した際に書式や数式が引き継がれ、参照範囲の管理もしやすくなります。
通常のセル範囲ではA2からA100までのように固定範囲を指定しがちですが、テーブルならデータ増加に合わせて範囲を広げやすい利点があります。
名前付き範囲を設定しておけば、数式の意味も読み取りやすくなるでしょう。
たとえば売上明細という名前を使えば、セル番地だけの数式より何を参照しているか判断しやすくなります。
データ量が毎月変動する場合は、固定セル範囲だけに依存しない設計が更新漏れの防止につながります。
Power Queryを検討する場面
数十枚以上のシートや複数のブック、CSVファイルを定期的に統合する場合は、Power Queryも候補になります。
Power Queryはデータの取り込み、列の削除、結合、並べ替え、更新といった作業を記録し、次回以降に再実行できる機能です。
VSTACK関数は数式だけで一覧を作りやすい一方、大量ファイルの取り込みや複雑な整形ではPower Queryのほうが管理しやすいことがあります。
| 状況 | おすすめの方法 | 理由 |
|---|---|---|
| 数値だけを合算したい | SUM関数 | 短い数式で確認しやすい |
| 数シートの明細を一覧化したい | VSTACK関数 | 元データと連動しやすい |
| マスタから情報を表示したい | XLOOKUP関数 | コードを軸に連携できる |
| 複数ファイルを毎月統合したい | Power Query | 更新作業を繰り返しやすい |
| 分析結果を見やすく示したい | ピボットテーブル | 集計軸を切り替えやすい |
データの件数、更新頻度、利用者のスキルに応じて、無理のない仕組みを選ぶことが長続きのポイントです。
まとめ
複数のシートのデータを1つのシートにまとめる関数は、目的によって選び分けることが大切です。
合計額を確認したい場合はSUM関数、同じ形式の明細を一覧化したい場合はVSTACK関数、別表から必要な情報を取得したい場合はXLOOKUP関数や直接参照が役立ちます。
特に複数シートを扱うときは、関数だけで解決しようとせず、列名、項目順、入力ルールをそろえることが欠かせません。
まずは小さな集計表で試し、元データを更新した際に結果が正しく変わるか確認するとよいでしょう。
データ量やファイル数が増えてきたら、テーブル、ピボットテーブル、Power Queryも組み合わせることで、手作業に頼らない安定した集計環境を作れます。