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点の商品の在庫の合計を取得することができます。
別シートの範囲はマウス操作で指定すると簡単
別シートのセルの指定は、通常のセル範囲と同様にマウス操作で指定することもできます。マウス操作で指定するには、次の手順で操作してください。
- 数式バーをクリックして「=SUMIF(」を入力した状態にします。
- 別シートをクリックして、SUMIFに指定したい「参照範囲」をドラッグで選択します。
- 選択した範囲が数式バーに自動で入力されます。「,」を入力して区切って他の値を指定します。
合計範囲も同じように指定することができます。
“別ブック”の範囲を参照する方法
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関数で別シート/ブックの範囲を参照する方法でした。
コメント