Excelが大好きだ!

Excel大好き経理マンがExcelの事を書き綴っていきます。


スポンサードリンク

sumproduct関数でのOR条件の指定

前回はsumifs関数でのOR条件の指定方法を紹介した。

www.excellovers.com

今回はみんな大好きsumproduct関数をsumifsの代替で使用する際のOR条件の指定方法を紹介します。

※大好きだよね?

OR条件公式

前回と同じ事例に対して3つの方法を作ってみた。

まずは

=SUMPRODUCT(((条件式1)+(条件式2)),合計範囲)

条件式1と条件式2を「+」でつなぐのがポイント。

今回の例を公式に当てはめてみるとこの様になる。

=SUMPRODUCT(((A2:A13="東京都")+(A2:A13="神奈川県")),B2:B13)

この数式を順番に追ってみるとこのような感じになる。

f:id:ExcelLover:20190916170934j:plain

①と②でA列:都道府県の中から東京都と神奈川県に一致しているものを抽出している。

一致している箇所はTrue。

不一致の箇所はFalseを返している。


③で①と②の結果を行ごとに足し算をしている。

Excelにおいて計算式の中ではTrue=1、False=0として扱われる。

ここでは東京都・神奈川県のいづれかが記載されている行の答えは1になっている。



④今回合計を算出したい数字が記載されている列。



⑤で③の結果と④を掛け算している。

③で東京都・神奈川県のいずれに一致している行は1,一致していない場合は0になっている。

その③の答えに④の合計したい数値をかけることで、一致している行は元々の④の数値が。

一致しない行は0になっている。



最終的に⑤で算出された答えを全て足し合わせることで求めたい解答が算出されている。



他の2つに関しては細かい紹介省かせていただくが、このような式でも同じように算出することが出来る。

=SUMPRODUCT((A2:A13={"東京都","神奈川県"})*B2:B13)
=SUMPRODUCT(MMULT(--(A2:A13={"東京都","神奈川県"}),{1;1})*B2:B13)



上段の式は今回紹介している式の、条件式部分を1つにまとめたものです。

A列を参照している箇所が1つになっているので少しスッキリして見るのではないでしょうか。

1箇所気をつけないといけないのは、条件式と合計範囲の間は「,(カンマ)」ではなく「*」でないと正常に動きません。



下段の式はMMULT関数を使いたかっただけといった感じなので、こんな方法もあるのだなぐらいに見ていただければ。