いまさら聞けないExcelの使い方講座
【Excel】SUMIFのことは忘れてっ! 条件に合うデータのみの合算に使う関数はSUMIFS
2022年8月17日 06:55
これから覚えるならSUMIFS関数で決まり
業務の内容を問わず、条件に一致するデータのみを合計したいことがありますよね。定番の関数は「SUMIF」と「SUMIFS」の2つです。SUMIFS関数は、Excel 2007で追加されており、現在ではすべての人が利用できると考えていいでしょう。
どちらを使えばいいのかに悩みますが、条件がひとつの場合は「SUMIF」、条件が複数の場合は「SUMIFS」のような使い分けは不要。SUMIFS関数だけで事足ります。それぞれの構文を見てみましょう。
引数の順番に注目してください。SUMIF関数では、ひとつめの引数[範囲]は「検索するセル範囲」です。SUMIFS関数では、ひとつめの引数[合計対象範囲]は「合計するセル範囲」です。
同じ動作をするのに引数の順番が違うのです。ひとつのシートにSUMIF関数とSUMIFS関数の両方を使っている場合、特に隣のセルに並んでいたりすると混乱しますよね。SUMIFS関数もひとつの条件で利用できるので、これから覚えるならSUMIFS関数のみでいいでしょう。
実際にSUMIF関数とSUMIFS関数で同じ結果になるか確認してみます。以下はチケット販売の集計表です。『席が「S」なら』の条件で、売上金額を合計します。
どちらも同じ結果になりました。指定できる条件は、SUMIF関数とSUMIFS関数で同じです。単純な文字列だけでなく、「等しい」(=)、「等しくない」(<>)、「以上」(>=)、「以下」(<=)、「より大きい」(>)、「より小さい」(<)といった比較演算子やワイルドカードの指定も可能です。今回は、SUMIFS関数の利用例をいくつか紹介します。
条件にセルの値を参照する
先ほどの例では「"S"」と数式中に直接指定しましたが、実際にはセルに入力された値を条件として参照することが多いでしょう。ここでは条件をセルH2に入力して数式を書き換えてみます。セルH2の値を変更するだけで結果が切り替わります。例えば、販売店を対象に「新宿」と指定する場合も同様です。
比較演算子を利用する
条件式に比較演算子を利用してみます。数値はもちろん、日付にも比較演算子を利用可能です。ここで指定する条件は「>=2022/7/2」です。2022/7/2以降の売上金額を合計します。数式中に直接指定する場合は「=SUMIFS(F2:F41,A2:A41,">=2022/7/2")」となります。
「~でない」の条件を指定する場合は「<>」を利用します。例えば、銀座以外の販売店の売上金額を求めるときの条件式は「<>銀座」となります。
複数の条件を指定する
今度は『席が「A」かつ「2022/7/2以降」』の条件を指定してみます。SUMIFS関数に指定する条件は「かつ」のAND条件になるので、指定する順番は意識する必要はありません。条件はセルH2とH3に入力しました。
「または」の条件を指定する
「または」の条件を指定するには工夫が必要です。例えば「SS」または「S」の売上金額を合計するにはどうしましょう? セルH2とH3に条件を入力して、数式を「=SUMIFS(F2:F41,C2:C41,H2,C2:C41,H3)」としても正しい結果は得られません。
前述の通り、SUMIFS関数で指定する条件は「かつ」のAND条件です。「または」のOR条件を指定したい場合は、SUMIFS関数の結果を足し算します。
ワイルドカードを利用する
「*」や任意の1文字を意味する「?」は「ワイルドカード」と呼ばれます。曖昧な条件指定が可能になります。先ほどの『「SS」または「S」』の条件であれば「S*」と指定することも可能です。「S」から始まる任意の文字列が一致します。
このサンプルには「S」と「SS」しかありませんが、「S*」の条件には「SA」「SSS」なども該当するので、指定する際には注意が必要です。「S?」の場合は「SA」「SS」など「S」に続く任意の1文字が一致します。
SUMIF関数とSUMIFS関数で引数の順番に違いがある
必ずSUMIF関数を利用しなければならない状況はありませんよね。複数の条件指定にも対応できるSUMIFS関数で十分ではないでしょうか。実際の業務で活用してみてください。