Excelが大好きだ!

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


スポンサードリンク

OR条件を含むSUMIFS関数

条件付きのSUM関数といえば

SUMIFS関数だが、この関数はAND条件、つまり指定した条件を全て満たすものを合算する関数です。

ではOR条件、指定した条件の一部でも満たすものを合算することは出来ないのでしょうか?

SUM関数&SUMIFS関数

通常の使用方法ではSUMIFS関数でOR条件を利用することは出来ないようですが、SUM関数との組み合わせ&変則的な条件指定でSUMIFS関数でOR条件を指定することが出来るようです。

sum( sumifs(合計範囲 , 条件範囲1 , {条件指定1 , 条件指定2}))

①条件指定を「{}」で囲い、条件を「,」で区切る
②SUM関数でSUMIFSを囲む

たとえばこのような例。
f:id:ExcelLover:20190911224932j:plain

この一覧から東京都と神奈川県の年齢の合計を算出したい場合。

まず①を考慮してこのように入力してみます。

=SUMIFS(B2:B13,A2:A13,{"東京都","神奈川県"})

f:id:ExcelLover:20190911224953j:plain

答えは133と表示されました。

ちなみに正しい回答は209です。

では今の式に②の要素を考慮して変更を加えましょう

=SUM(SUMIFS(B2:B13,A2:A13,{"東京都","神奈川県"}))

今度は無事に正しい答え209が表示されました。

なぜSUM関数で加工と正しい答えになるのでしょうか?

では数式の検証機能で式の中身を見てみましょう。

f:id:ExcelLover:20190911225013j:plain
SUMIFS関数終了時点で式の中身がsum({133,76})となっています。

先程表示された133はこの左側の数値が表示されていたのでした。
※ちなみに133は東京都の合計、76は神奈川県の合計です。

SUMIFS関数の返り値は配列の状態、東京都と神奈川県のそれぞれの合計を計算したところで終わっています。

そのため配列の最初の要素である133のみが表示されていたのでした。

SUM関数を追加することで東京都と神奈川県、それぞれの合計を合算して最終的に正しい答えを算出できるようになります。