【Excel・エクセル】SUMPRODUCTとINDEXを組み合わせて複数条件に合う値を取り出す
![](https://sakusaku-office.com/wp-content/uploads/2019/12/morino-normal.png)
2つの条件に合う値を求められないかな?
![](https://sakusaku-office.com/wp-content/uploads/2019/12/yamano-normal.png)
SUMPRODUCT関数とINDEX関数を組み合わせてみよう。
- SUMPRODUCT関数とINDEX関数で複数条件に合う値を求められる
- =INDEX(取り出したい値がある列,SUMPRODUCT((1つ目の条件範囲=1つ目の条件)*(2つ目の条件範囲=2つ目の条件),ROW(求めたい値がある列)))
SUMPRODUCT関数×INDEX関数の練習ファイルダウンロード
![](https://sakusaku-office.com/wp-content/uploads/2019/12/morino-normal.png)
一緒にやってみませんか?
【Excel・エクセル】SUMPRODUCT関数、INDEX関数、ROW関数のおさらい
とりあえずやり方を知りたい!という方は「SUMPRODUCT関数×INDEX関数の使い方」へお進みください!
例えば次の表で、担当者が「もりの」、価格が「150」円の商品名を知りたい場合。
いくつか方法はありますが、今回はSUMPRODUCT関数、INDEX関数、ROW関数を使って求めたいと思います。
![SUMPRODUCT関数×INDEX関数の練習問題](https://sakusaku-office.com/wp-content/uploads/2022/05/Excel-sumproduct-index-1.png)
![](https://sakusaku-office.com/wp-content/uploads/2019/12/morino-normal.png)
それぞれ、どんな関数だっけ?
=SUMPRODUCT((配列1=条件)*(配列2))
配列1 | 条件範囲 |
条件 | 条件 |
配列2 | 合計したい範囲 |
![SUMPRODUCT関数でカウントするときの式](https://sakusaku-office.com/wp-content/uploads/2021/05/Excel-sumproduct-fuinction-13.png)
=INDEX(配列,行番号,列番号)
INDEX | この範囲の、この位置の値を教えて |
配列 | この範囲の |
行番号 | この位置(上から数えて何行目か) 配列が1列の時は、省略できる |
列番号 | この位置(左から数えて何列目か) 配列が1行の時は、省略できる |
![行番号と列番号を指定した画像](https://sakusaku-office.com/wp-content/uploads/2021/10/Excel-index-function-5.png)
=ROW(参照)
ROW | このセルって、何行目? |
参照 | 調べたいセル |
![ROW関数でセルの行番号を取得しようとする画像](https://sakusaku-office.com/wp-content/uploads/2021/08/Excel-row-function-5.png)
![ROW関数で行番号が表示できた画像](https://sakusaku-office.com/wp-content/uploads/2021/08/Excel-row-function-6.png)
![](https://sakusaku-office.com/wp-content/uploads/2019/12/morino-normal.png)
やばい、これは難しそうな予感……!
![やまのののんびりした顔](https://sakusaku-office.com/wp-content/uploads/2019/12/yamano-laugh.png)
まぁ、範囲や値を入れ替えるだけでできるから。
【Excel・エクセル】SUMPRODUCT関数×INDEX関数の使い方
では、先ほどの表から担当者もりの、価格150円の商品名を取り出したいと思います。
![SUMPRODUCT関数×INDEX関数の練習問題](https://sakusaku-office.com/wp-content/uploads/2022/05/Excel-sumproduct-index-1.png)
=INDEX(取り出したい値がある列,SUMPRODUCT((1つ目の条件範囲=1つ目の条件)*(2つ目の条件範囲=2つ目の条件),ROW(求めたい値がある列)))
結構ややこしいので、上の式に当てはめていけばOKですよ!
![](https://sakusaku-office.com/wp-content/uploads/2019/12/yamano-normal.png)
=INDEX(B1:B6,SUMPRODUCT((A1:A6=B8)*(C1:C6=B9),ROW(B1:B6)))で、求められるよ。説明するね。
ステップ1
まずはINDEX関数から書いてきます。
セルB10に、「=INDEX(」と入力してください。
![「=INDEX(」まで入力した画像](https://sakusaku-office.com/wp-content/uploads/2022/05/Excel-sumproduct-index-2.png)
ステップ2
次に、取り出したい値がある列です。
今回は商品名を知りたいので、商品名が書かれたB1~B6をドラッグします。
そして「,(カンマ)」。
![取り出したい値がある範囲をドラッグした画像](https://sakusaku-office.com/wp-content/uploads/2022/05/Excel-sumproduct-index-3.png)
ステップ3
ここでSUMPRODUCT関数の出番です。
「SUMPRODUCT((」まで入力します。
![「SUMPRODUCT((」と入力した画像](https://sakusaku-office.com/wp-content/uploads/2022/05/Excel-sumproduct-index-4.png)
![](https://sakusaku-office.com/wp-content/uploads/2019/12/morino-normal.png)
「(」は2つ……っと。
ステップ4
続いて1つ目の条件、「担当者がもりの」です。
条件範囲の担当者が書かれたA1~A6をドラッグして、「,(カンマ)」。
条件はもりのと書かれたセルB8をクリックします。
カッコを閉じて、「*(」で次の条件へつなぎます。
![1つ目の条件を指定した画像](https://sakusaku-office.com/wp-content/uploads/2022/05/Excel-sumproduct-index-5.png)
![](https://sakusaku-office.com/wp-content/uploads/2019/12/morino-normal.png)
ここはカンマじゃなくてイコールっと。
ステップ5
続いて2つ目の条件、「価格が150」です。
条件範囲の価格が書かれたC1~C6をドラッグして、「=」。
条件は、もりのと書かれたセルB9をクリックします。
カッコを閉じて、「,」です。
![2つ目の条件を指定した画像](https://sakusaku-office.com/wp-content/uploads/2022/05/Excel-sumproduct-index-6-1.png)
![](https://sakusaku-office.com/wp-content/uploads/2019/12/yamano-normal.png)
さらに「*」で条件を繋げれば、3つ以上の複数条件を指定できるんよ。
ステップ6
ここでついに登場、ROW関数。
指定する範囲は、最初にINDEX関数で指定した範囲と同じです。
「ROW(」と入力して、取り出したい値がある範囲、B1~B6をドラッグします。
![ROW関数を入力した画像](https://sakusaku-office.com/wp-content/uploads/2022/05/Excel-sumproduct-index-7-1.png)
最後に「)))」と入力すればOKです!
![](https://sakusaku-office.com/wp-content/uploads/2022/05/Excel-sumproduct-index-8.png)
![](https://sakusaku-office.com/wp-content/uploads/2019/12/yamano-normal.png)
それぞれROW関数の閉じカッコ、SUMPRODUCT関数の閉じカッコ、INDEX関数の閉じカッコだね。
完成!
長い道のりでしたが、無事複数条件に合う値が抜き出せました!
![複数条件に合う値が抜き出せた画像](https://sakusaku-office.com/wp-content/uploads/2022/05/Excel-sumproduct-index-9.png)
![](https://sakusaku-office.com/wp-content/uploads/2019/12/morino-normal.png)
INDEX関数の列番号は?
![](https://sakusaku-office.com/wp-content/uploads/2019/12/yamano-normal.png)
今回は1だから、省略したよ。
これで、複数条件に合う値を抜き出せますね!
それでは、お疲れさまでした!
- SUMPRODUCT関数とINDEX関数で複数条件に合う値を求められる
- =INDEX(取り出したい値がある列,SUMPRODUCT((1つ目の条件範囲=1つ目の条件)*(2つ目の条件範囲=2つ目の条件),ROW(求めたい値がある列)))
ディスカッション
コメント一覧
まだ、コメントがありません