SUM関数でシートを串刺しにしたような足し算を計算する
[例に使われている数式]
=SUM(Sheet1!:Sheet3!B2)
エクセル関数SUM関数は引数を工夫することでシートを串刺しにして各シートの同じセルにある数値の合計を計算できることをご存知ですか?
このような計算を串刺し計算(3D-reference)と呼びます。
たとえば『1月、2月、3月、4月』という4つのシートに同じフォーマットの表があり、『累計』というシートにある同じフォーマットの表に 『1月、2月、3月、4月』 の合計値を表示したい場合に使えます。
直接参照する方法であれば、=SUM(‘1月’!B2+’2月’!B2+’3月’!B2+’4月’!B2)という数式になりますが、この串刺し計算を使った式では、=SUM(‘1月:4月’!B2)となり、かなりコンパクトになります!
[例で使われている数式]
=SUM('1月:4月'!B2)
月だけではありません、支店ごとにシートが分かれている表の全支店合計や部門ごと、担当者ごと・・・色々なケースが考えられます。
月ごとのシートで便利なのは、1月から3月の合計を1月から4月の合計に変更することがすごく容易な点です。
串刺しにするシート範囲の終了シート(末端のシート)を3月のシートから4月のシートに書き換えれば良いだけです。
数式でいうと=SUM(‘1月:3月’!B2)を=SUM(‘1月:4月’!B2)に変更になります。
書き換えの件数が多い場合には置換(ショートカットキー『Ctrl + H』)を使うと素早く変更することができます!
なお、その際に「3」を「4」としてしまうと意図しない場所にある3が4に置換えられてセル参照がずれる可能性がありますので、「3月」を「4月」に置換するようにしましょう。
・・・とここまでの内容で記事にしていたのですが、もっと便利な方法を教えて頂いたので紹介します!
「START」シートと「END」シートを用いて工数削減!
上記のSUM関数での串刺し計算についてTwitterで発信したところ、もっと手軽に集計対象シートを変更する方法があると教えて頂きました!
情報を教えてくださったしょうたさん(リンク先はTwitter)の串刺し計算に関する記事へのリンクを以下に貼ります。
同じ計算ができる機能(統合)や他の関数との相違点及びメリットについて詳しく解説されているので、より理解を深めたい方はそちらをご覧下さい!
【外部リンク】Excel 串刺し計算(3D集計)―複数シートを効率的に集計する―| Excel Excellent Technics
さて、その方法というのは「START」と「END」いう名前の空白のシートの間に集計対象のシートを挟み込むという方法です。
この方法を使うと集計対象とするシートの追加・除外がもの凄く手軽に行えるようになります。
下の図をご覧下さい。
[例で使われている数式]
=SUM(START:END!B2)
青色のセルも緑色のセルも同じ数式(=SUM(START:END!B2))が入っています。
にも関わらず、返す数値が異なっているのはそのブックのシートの順序が異なっているからです!
今回紹介している串刺し計算では対象とするシートの範囲のはじめとおわりを入力しています。
計算の対象となるシートの範囲は「START」シートと「END」シートの間であり、図の上側の例では「4月」シートは範囲外なのでSUM関数の計算対象に含まれません。
「4月」を計算対象とした結果を得たい場合には、「4月」シートを「START」シートと「END」シートの間へ移動させます。
先程紹介した数式の「3月」を「4月」に置き換える方法よりも簡単ではないでしょうか?
串刺し計算の注意点
串刺し計算は同じフォーマットで作成されている複数シートを横断した計算をする場合に、簡単な数式の記述で計算でき、計算対象とするシートの範囲変更が容易だというメリットがあることは上述の通りですが注意点もあります。
それは行や列の挿入、削除があると参照がずれるという点です。
集計シート範囲内にあるシートの一部で行や列の挿入・削除があった場合、今回紹介した数式の参照先が狙った通りとなる保証はありません。
(集計範囲内のシートで挿入や削除をすることが串刺し計算(シート間の計算)の前提条件である「同一フォーマット」という前提から外れる行為だと思いますので、デメリットとして挙げるというよりは注意点という認識です。)
しっかりとシーンを見極めて使用することが重要です。
記事は以上となります。
シート間の集計を楽にしてくれる串刺し計算(3D-reference)、使えそうな場面に遭遇したらぜひ使ってみて下さいね!
最後まで読んで頂きありがとうございました!
【内部リンク】エクセル関数SUM関数 擬人化キャラクター記事
【外部リンク】Microsoftサポート 複数のシートの同じ位置にあるセルまたはセル範囲に対する 3-D 参照を作成する
コメント