1月・2月・3月…とシートが分かれた表で、同じセルを合計したいことがあります。使うのは3D参照、いわゆる串刺し集計です。
シート名を1つずつ数式に並べると、シートが増えるたびに数式を直すことになります。3D参照なら「最初のシートから最後のシートまで」とまとめて指定できるので、数式は1本のままで済みます。
この記事で分かること
- 複数シートの同じセルを1本の数式で合計する書き方(
=SUM(月別1:月別3!B2:B10)) - シートを追加したときに、自動で集計に入るシートと入らないシートの違い
- 3D参照が使える関数と、使えない関数
- 合計が合わないときに疑う3か所
どんな場面で使うか
「各シートのレイアウトが同じで、同じ位置のセルを足したい」という形であれば、どれも同じ書き方でカバーできます。
- 月別の売上シート(1月・2月・3月…)から、四半期や年間の合計を出す
- 部門ごとに分けたシートを合わせて、全社の合計を出す
- 拠点別・担当者別のシートから、全体の件数を数える
- プロジェクトごとのシートから、原価の総額を出す
いずれも「シートは違うが、セルの位置は同じ」という構造です。逆に、シートごとに行数や列の並びが違う場合は3D参照には向きません。
基本説明:3D参照とは
3D参照とは、数式の中で複数のシートをまとめて指定できる書き方です。
通常の参照は「行と列」の2次元でセルを指定します。3D参照はそこに「シート」という軸を足して、同じセル範囲を複数のシートに対して一度に指定します。串刺し集計と呼ばれるのは、重ねたシートを串で刺すようなイメージからきています。
使うデータ
この記事では、次の3つのシートを持つブックを例にします(記事末尾のサンプルファイルと同じ構成です)。
- 月別1
- 月別2
- 月別3
3枚とも中身のレイアウトは同じで、A列に商品名、B列に売上が入っています。データは2行目から10行目まで、つまり B2:B10 の9行です。
| A | B | |
|---|---|---|
| 1 | 商品 | 売上 |
| 2 | 商品A | 120,000 |
| 3 | 商品B | 98,000 |
| … | … | … |
| 10 | 商品I | 117,000 |
通常の書き方
シート名を1つずつ指定すると、こうなります。
=SUM(月別1!B2:B10, 月別2!B2:B10, 月別3!B2:B10)
シートが12か月分あれば、この並びが12個続きます。
3D参照での書き方
同じ集計を、3D参照ではこう書きます。
=SUM(月別1:月別3!B2:B10)
「月別1 から 月別3 まで」の全シートの B2:B10 を合計します。シート名をコロン(:)でつなぐのがポイントです。
サンプルのデータで実行すると、3シート合わせて27件・3,008,000 が返ります。シートが何枚に増えても、数式の長さは変わりません。
手順
1. 各シートのレイアウトをそろえる
3D参照は「どのシートでも同じ位置に同じ意味のデータがある」ことが前提です。先にレイアウトを統一しておきます。
2. 集計したいセル範囲を決める
どのシートでも共通で使える範囲(例:B2:B10)を決めます。
3. 数式を入力する
集計用のシートで、=SUM( と入力したあと、次のどちらかで範囲を指定します。
- 直接入力する:
=SUM(月別1:月別3!B2:B10) - マウスで指定する:最初のシートのタブをクリック → Shift キーを押しながら最後のシートのタブをクリック → 対象のセル範囲をドラッグ
4. シートを追加するときは位置に注意する
新しいシートは、開始シートと終了シートの間に挿入します。そこに入れておけば、数式を直さなくても集計に含まれます。
使用例
| やりたいこと | 数式の例 |
|---|---|
| 全シートの合計 | =SUM(月別1:月別3!B2:B10) |
| 全シートの平均 | =AVERAGE(月別1:月別3!B2:B10) |
| 全シートの件数 | =COUNT(月別1:月別3!B2:B10) |
| 全シートの最大値 | =MAX(月別1:月別3!B2:B10) |
| シート名にスペースがある | =SUM('4月 実績:6月 実績'!B2:B10) |
シート名にスペースや記号が含まれるときは、シート名の範囲全体をシングルクォート(')で囲みます。片方だけを囲むのではなく、'開始:終了' の形でまとめて囲む点に注意してください。
よくあるエラー・注意点
対象になるのは「タブの並び順」で挟まれたシート
3D参照が集計するのは、開始シートと終了シートの間にタブとして並んでいるすべてのシートです。シート名の末尾の番号とは関係ありません。月別1と月別3の間にメモ用や作業用のシートを置くと、そのシートも集計対象に入ってしまいます。
追加したシートが集計に入っていない
一番多いのがこれで、しかもエラーにならないので気づきにくい失敗です。新しいシートを終了シートより右(外側)に作ると、集計対象に入りません。数式はエラーを出さず、そのシートの分だけ少ない合計を返します。合計が思ったより小さいときは、まずタブの並びを確認してください。
シートを削除・名前変更した
開始シートまたは終了シートを削除すると、参照が壊れて #REF! になることがあります。間のシートの削除は、範囲から自動で外れるだけで数式は残ります。名前を変えたときは、数式側も追従しているか確認しておくと安心です。
使えない関数を使っている
3D参照に対応しているのは、主に合計・統計系の関数です。
- 使える:
SUMAVERAGECOUNTCOUNTAMAXMINPRODUCTSTDEVなど - 使えない:
IFSUMIFSUMIFSCOUNTIFVLOOKUPXLOOKUPFILTERなど
条件付きの集計や検索を複数シートに対して行いたい場合は、3D参照ではなく、各シートのデータを1枚にまとめてから集計する方が確実です。
まとめ
- 3D参照(串刺し集計)を使うと、
=SUM(月別1:月別3!B2:B10)の形で複数シートの同じセルをまとめて合計できる - 集計されるのはタブの並び順で開始シートと終了シートに挟まれたシート。名前の番号順ではない
- 新しいシートは開始と終了の内側に挿入すれば、数式を直さずに集計へ入る。外側に作ると、エラーは出ないまま合計から漏れる
- 条件付き集計(SUMIFなど)や検索系の関数は3D参照に対応していない
各シートのレイアウトさえそろえておけば、月次・部門別・拠点別の集計はぐっと楽になります。
関連記事
- 【Excel】 INDIRECT関数を使ったセルの参照 — シート名を文字列から組み立てて参照する方法
- 【Excel】SUBTOTAL関数の「9」とは?集計方法の番号一覧とフィルター後の集計 — 1枚のシート内で、フィルターに連動した集計をする方法
サンプルファイル
記事中で使用しているサンプルデータはこちらからダウンロードできます。
