SUMIFS関数:複数の条件に一致するセルの数値を合計する
SUMIFS 関数は Excel で用意されている関数の一つで、指定した条件に一致するセルの数値の合計を取得します。 SUMIF 関数では指定できる条件が一つでしたが、 SUMIFS 関数では複数の条件を設定することができます。ここでは Excel における SUMIFS 関数の使い方について解説します。
※ Excel の対応バージョン : 365 web 2021 2019 2016 2013
(Last modified: )
SUMIFS関数の定義
SUMIFS
関数は指定したセルの範囲の中から別途指定した複数の条件のすべてに一致したセルだけの数値の合計を取得します。
1 番目の引数に合計を計算するセルが含まれるセル範囲、 2 番目の引数に条件と一致するかどうかを調べるセル範囲、 3 番目の引数に条件を指定します。複数の条件を設定する場合は条件範囲とそれに対する条件の組み合わせを必要な数だけ記述してください。
少し分かりにくいので例を使って解説します。次のシートを見てください。
SUMIFS
関数の 1 番目の引数には合計を計算する対象のセル範囲を指定します。今回の場合は D3:D7 を指定します。
SUMIFS
関数の 2 番目の引数には条件と一致するかどうかを調べる最初のセル範囲を指定します。今回の場合は B3:B7 を指定します
SUMIFS
関数の 3 番目の引数に条件を記述します。今回の場合は 2 番目で指定した範囲の中にあるセルの値が "Windows" と一致するものだけを合計の対象にします。この場合は 3 番目の引数に "Windows" と記述します。( "=Windows" のように =
演算子を使って記述しても同じです)。
B3:B7 の範囲の中で条件と一致するセルを調べます。そして D3:D7 の中で先ほど条件と一致したセルと同じ行にあるセルの値を合計します。今回の場合は合計の対象となるセルは次の 3 つです。
条件が一つだけであれば先ほどの 3 つのセルの合計を取得します。複数の条件を設定する場合は 4 番目の引数に条件と一致するかどうかを調べる 2 つ目のセル範囲を指定します。今回の場合は C3:C7 を指定します。
SUMIFS
関数の 5 番目の引数に条件を記述します。今回の場合は 4 番目で指定した範囲の中にあるセルの値が "Black" と一致するものだけを合計の対象にします。この場合は 5 番目の引数に "Black" と記述します。
C3:C7 の範囲の中で条件と一致するセルを調べます。そして D3:D7 の中で先ほど条件と一致したセルと同じ行にあるセルの値を合計します。今回の場合は合計の対象となるセルは次の 2 つです。
最後に最初の条件と 2 つ目の条件に共に一致するセルの合計を取得します。
よって SUMIFS(D3:D7,B3:B7,"Windows",C3:C7,"Black")
と実行した場合は結果として 13 を取得することができます。
演算子を使った条件の指定方法
SUMIFS
関数で条件を指定する方法です。セルの値が特定の値と一致するかどうか調べる場合は単に値を記述するだけですが、数値の大きさを比較する場合には比較演算子を使って記述します。(使用できる演算子の詳細については「比較演算子と算術演算子の利用」を参照されてください)。
演算子 | 記述例 | 解説 |
---|---|---|
= | "=東京都" | "東京都"と等しい |
<> | "<>東京都" | "東京都"と等しくない |
> | ">10" | 10よりも大きい |
< | "<10" | 10よりも小さい |
>= | ">=10" | 10以上 |
<= | "<=10" | 10以下 |
1 番目の引数で指定した範囲のセルの値が特定の値と一致しているセルをカウントする場合には "=値" と記述します。これは単に "値" と記述した場合と同じです。逆に特定の値と等しくないセルをカウントするには "<>値" と記述します。
またセルの値が数値の場合、数値の大きさの比較ができます。例えばセルの値が特定の数値よりも大きいセルをカウントする場合は ">値" と記述します。セルの値が特定の数値以下のセルをカウントする場合は "<=値" と記述します。
SUMIFS関数の使い方
それでは実際に SUMIFS
関数を使ってみます。次のシートを見てください。
合計値を表示する D9 セルに次のような数式を入力しました。合計の範囲として D3:D7 、 1 番目の条件と一致するか調べる範囲として B3:B7 、 1 番目の検索条件として "Windows" 、 2 番目の条件と一致するか調べる範囲として C3:C7 、 2 番目の検索条件として "Black" を指定します。
=SUMIFS(D3:D7,B3:B7,"Windows",C3:C7,"Black")
Enter
キーを押すと、 D10 セルには次のように表示されます。
2 つの条件にともに一致しているセルについて合計を取得し D10 セルに表示しました。
SUMIFS関数でワイルドカードを使用する
SUMIFS
関数では検索条件で *
(アスタリスク)と ?
(クエスチョンマーク)の 2 つのワイルドカードを使用することができます。
ワイルドカードはそれぞれ次のような意味を持ちます。
? は任意の1文字
* は任意の数の文字列
?
は任意の 1 文字と一致します。例えば検索条件として "A?" と指定した場合は "A" で始まりその後に任意の 1 文字が続く文字列と一致します。例えば "AB" や "A0" などです。
*
は任意の数の文字列と一致します。例えば検索条件として "A*E" と指定した場合は "A" で始まりその後に任意の文字列が続いたあとに "E" と続く文字列と一致します。例えば "APPLE" や "A74E" などです。
例えば検索対象の製品名が「Windows」などではなく「Windows10」などのように入力されている場合で考えてみます。
合計を表示する D9 セルに次のように数式を入力しました。
=SUMIFS(D3:D7,B3:B7,"Windows",C3:C7,"Black")
Enter
キーを押すと D9 セルには次のように 0 が表示されました。条件として "Windows" と記述した場合は "Windows" だけが記述されている場合にだけ一致するためです。
そこで SUMIFS
関数の 3 番目の引数をワイルドカードを使って "Windows*" に変更します。この場合は "Windows" から始まってそのあとに任意の数の文字列が続く文字列と一致します。
=SUMIFS(D3:D7,B3:B7,"Windows*",C3:C7,"Black")
Enter
キーを押すと D9 セルには次のように 13 が表示されました。
このようにワイルドカードを使用することで、より柔軟な検索条件を記述することができます。
SUMIFS関数の便利な利用方法
SUMIFS
関数の便利な利用方法を下記の記事で紹介しています。
-- --
Excel における SUMIFS 関数の使い方について解説しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。