【Excel】SUMIFで複数条件をORで指定し、かつ条件でセルを参照する

EXCELのSUMIFは列の条件が指定できて非常に便利ですが、場合によっては、一列の中で複数の条件のどちらかにマッチする値を拾いたいときがあると思います。

 

これは、SUMを使って入れ子にすればできるのは有名なので、これをご存知の方は多いでしょう。

例えば、こんな例↓ですね。

=SUM(SUMIF(C:C,{“SG”,”TH”}),E:E))

 

この例では、SUMの中にSUMIFを入れ子にすることで、C列Countryが「SG」または「TH」のどちらかに合致するものの合計を出しています。

 

実は、このやり方は一つだけ問題があり、数式中の「SG」「TH」のところは、値が直打ちである必要があります。セル参照が出来ません。

 

今回、私がご紹介したいのは、SUMIF中のOR条件部分をセル参照するやり方です。

 

これは、通常、CHOOSE関数と配列関数を使うことで解決できます。OR条件が3つ以上のときは、CHOOSEの中を増やします。

{=SUM(SUMIF(C:C,CHOOSE({1;2},A8,A9),E:E))}

 

参照したいセルが連続している場合に限っては、範囲指定することも出来ます。

{=SUM(SUMIF(C:C,A8:A9,E:E))}

 

配列関数は、数式入力後、セルをF2で選択した後、Ctrl+Shift+Enterを押すと配列関数にすることが出来ます。実際に配列関数になったかどうかは、数式が{}で囲まれていれば成功です。配列関数でないと正しい値が計算されませんし、数式を再編集したりすると、配列関数が解除されますので、ご注意下さい。

 

配列関数は結構曲者で、配列関数にするのを忘れていたりすると、全然違う値が出てきてしまいます。エラーになるとかなら気づくので分かりやすいのですが、違う値が出てくるだけということが多いので、それっぽい値になっていると、配列関数になっていないことに気づかないこともあります。

 

ここはもう少し使い勝手よくしてくれないかなと思っているところですが、今のところ、SUMIF(SUMIFSも同じ)で列のOR条件先をセル参照するにはこれしか方法がないようなので、このやり方を使っています。

Ctrl+Shift+Enter、忘れないようにご注意ください。

コメント

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