複数のシートからのデータ集計: INDIRECT関数とSUMIFS関数を使った効率的な方法

複数のシートからのデータ集計: INDIRECT関数とSUMIFS関数を使った効率的な方法

Excelでは、複数のシートにまたがるデータの集計が必要な場合があります。この記事では、INDIRECT関数とSUMIFS関数を使って、複数のシートからデータを集計する方法を紹介します。

サンプルデータの作成

まずは、以下のような3つのシートを用意します。各シートには、商品ごとの売上データが記録されています。

シート名AB
Sheet1商品A100
Sheet1商品B200
Sheet2商品A300
Sheet2商品B400
Sheet3商品A500
Sheet3商品B600

Sheet1のサンプル図

INDIRECT関数とSUMIFS関数の組み合わせ

集計用シートを作成します。

ここで、集計用シートのA2には集計対象のシート名(例:Sheet1)が入力されているものとします。また、集計用シートのB1には集計対象の商品名(例:商品A)が入力されているものとします(下記の「★サンプル図」を参照)。

集計用シートののB2に、以下のような式を入力します。

=SUMIFS(INDIRECT("'" & A2 & "'!$B$1:$B$10"), INDIRECT("'" & A2 & "'!$A$1:$A$10"), B1)

この式を、集計対象のシート数に応じてコピーし、最後にSUM関数を使って合計を求めます。
※コピーする場合は上記式の「A2」を「$A2」(列固定)、「B1」を「B$1」(行固定)のように調整するのがよいでしょう。

結果

以下のように、複数のシートから商品の売上データが集計されます。

★サンプル図
商品A商品B合計
Sheet1100200300
Sheet2300400700
Sheet35006001100
合計90012002100

以上のように、INDIRECT関数とSUMIFS関数を組み合わせることで、複数のシートから特定の条件に合致するデータを効率的に集計することができます。これにより、データが分散している場合でも、柔軟な集計が可能となります。

注意点

INDIRECT関数を使用する際には、シート名やセル範囲の指定に注意が必要です。シート名に空白や特殊文字が含まれる場合、シート名をシングルクォーテーションで囲むことでエラーを回避できます。また、セル範囲は適切な範囲を指定することで、計算速度の向上やエラーの回避につながります。

まとめ

ExcelのINDIRECT関数とSUMIFS関数を組み合わせることで、複数のシートからのデータ集計が容易になります。これにより、複雑なデータ構造に対応しながら、効率的な集計が可能となります。是非、この方法を試して、Excelのデータ集計スキルを向上させましょう。

Follow me!

コメント

PAGE TOP
タイトルとURLをコピーしました