SUMIF関数で別シート/ブックの範囲を参照する – Excel/スプレッドシート

midSun31midSun31
IT・デジタル

SUMIF関数で参照される表が別のシートやブックに存在しているケースはよくあります。しかし、表を関数で利用するためだけにコピーするのは不便ですよね。

そこで、この記事ではSUMIF関数で別シート/ブックの範囲を参照する方法を解説します。 Excel、スプレッドシートそれぞれの方法を紹介します。

“別シート”の範囲を参照する方法

SUMIF関数で別シートを参照する方法は、Excel・スプレッドシートで共通です。

一つのブックに次のシートがある場合を例として解説します。

  • 「在庫集計」シート … SUMIF関数を利用するシート
  • 「商品表」シート … SUMIF関数で参照されるシート

別シートの参照範囲を指定する際には参照範囲の先頭に「シート名」+「!」を付ける必要があります。

=SUMIF(シート名!セル範囲,検索値,シート名!セル範囲)

例の場合は、SUMIF関数の数式で次のように指定します。

  • 参照範囲: 商品表!$B$2:$B$10
    • 「商品表」シートのB2~B10セルを参照する。
  • 合計範囲: 商品表!$E$2:$E$10
    • 「商品表」シートのE2~E10セルを参照する。

例の場合のSUMIFの数式は次のようになります。

=SUMIF(商品表!B2:B10,"Tシャツ",商品表!E2:E10)

上記の数式をセルに入れると、別シートの商品分類が「Tシャツ」である4点の商品の在庫の合計を取得することができます。

別シートの範囲はマウス操作で指定すると簡単

別シートのセルの指定は、通常のセル範囲と同様にマウス操作で指定することもできます。マウス操作で指定するには、次の手順で操作してください。

  1. 数式バーをクリックして「=SUMIF(」を入力した状態にします。
  2. 別シートをクリックして、SUMIFに指定したい「参照範囲」をドラッグで選択します。
  3. 選択した範囲が数式バーに自動で入力されます。「,」を入力して区切って他の値を指定します。

合計範囲も同じように指定することができます。

“別ブック”の範囲を参照する方法

SUMIF関数で別ブックを参照する場合は、Excelとスプレッドシートで方法が異なります。順に紹介します。

Excelの場合

ExcelのSUMIF関数で別ブックを参照する方法を解説します。

別ブックの参照範囲を指定する際には、参照範囲を以下の書き方で指定する必要があります。

=SUMIF([ブック名.xlsx]シート名!セル範囲 ,検索値 ,[ブック名.xlsx]シート名!セル範囲)

*ブック名の括弧は「[ ]」であることに注意しましょう。

次のブックを例にして解説します。

  • 「在庫集計」ブック(ファイル名:在庫集計.xlsx)
    • 「在庫集計」シート … SUMIF関数を利用するシート
  • 「商品表」ブック(ファイル名:商品表.xlsx)
    • 「商品表」シート … SUMIF関数で参照されるシート

在庫集計ブックのシート上から、SUMIFで「商品表」ブックのデータを集計します。

SUMIF関数の数式の範囲は次のように指定します。

  • 参照範囲: [商品表.xlsx]商品表!$B$2:$B$10
    • 「商品表.xlsx」ブックの「商品表」シートB2~B10セルを参照する
  • 合計範囲: [商品表.xlsx]商品表!$E$2:$E$10
    • 「商品表.xlsx」ブックの「商品表」シートE2~E10セルを参照する

集計するSUMIFの数式は次のようになります。

=SUMIF([商品表.xlsx]商品表!$B$2:$B$10,"Tシャツ",[商品表.xlsx]商品表!$E$2:$E$10)

上記の数式を「在庫集計」シートのセルに入力すると、「商品表」ブックのデータをSUMIFで集計できます。

シート名は省略できる

尚、参照されるブックに1つのシートしかない場合は「ブック名!セル範囲」でも指定することができます。

=SUMIF(商品表.xlsx!$B$2:$B$10,"Tシャツ",商品表.xlsx!$E$2:$E$10)

Googleスプレッドシートの場合

Googleスプレッドシートで別ブックを参照する場合は、「IMPORTRANGE」関数を使ってスプレッドシートのファイルを指定する必要があります。

=SUMIF(IMPORTRANGE("スプレッドシートのキー","シート名!セル範囲"),"検索値", IMPORTRANGE("スプレッドシートのキー","シート名!セル範囲"))

IMPORTRANGE関数で指定する”スプレッドシートのキー”とは、ファイルを指定するための文字列です。

スプレッドシートのキーは、スプレッドシートのリンクから確認できます。「d/」と「/edit~」の間にある文字列です。

#url
https ://docs.google.com/spreadsheets/d/1JNYfMoibwRLiBsHBi8dyKaK8TW1YPtprg_kg7SBrNM4/edit#gid=0

上記の場合は、「1JNYfMoibwRLiBsHBi8dyKaK8TW1YPtprg_kg7SBrNM4」がスプレッドシートのキーになります。

SUMIF関数の数式の範囲は次のように指定します。

  • 参照範囲: IMPORTRANGE(“1JNYfMoibwRLiBsHBi8dyKaK8TW1YPtprg_kg7SBrNM4″,”商品表!B2:B10”)
    • 「商品表」スプレッドシートの「商品表」シートB2~B10セルを参照する
  • 合計範囲: IMPORTRANGE(“1JNYfMoibwRLiBsHBi8dyKaK8TW1YPtprg_kg7SBrNM4″,”商品表!E2:E10”)
    • 「商品表」スプレッドシートの「商品表」シートE2~E10セルを参照する

別のファイルで次の数式を入力すると、「商品表」スプレッドシートのデータをSUMIFで集計することができます。

=SUMIF(IMPORTRANGE("1JNYfMoibwRLiBsHBi8dyKaK8TW1YPtprg_kg7SBrNM4","商品表!B2:B10"),"Tシャツ", IMPORTRANGE("1JNYfMoibwRLiBsHBi8dyKaK8TW1YPtprg_kg7SBrNM4","商品表!E2:E10"))

以上、SUMIF関数で別シート/ブックの範囲を参照する方法でした。

IT・デジタル
Howpon[ハウポン]

コメント