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