Microsoft Excel のSUMIF関数はExcelの中でも基本的な関数です。
IF関数とあわせて使いこなせるようになると、業務の幅が広がります。
今回の記事では、SUMIF関数だけでなく、複数条件に対応するSUMIFS関数の使い方もあわせてご紹介していきます。ぜひ参考にしてくださいね。
目次
SUMIF 関数とは
SUMIF関数とは、指定された検索条件に一致するセルの値を合計します。
Excel で計算処理などをしたことがあれば、「IF」関数は聞いたことがあるかもしれません。条件に合わせて値を表示することで、条件に合うものと合わないものを抽出することができる関数で、とても便利な機能です。
たとえば、Excelでカレンダーを作成した際に、「土日祝日」であれば「休日」と表示する、目標予算に対して達成率が 100% 以上であれば〇をつける、などのようなことができます。式は次の通りです。
=IF(論理式, 値が真の場合, [値が偽の場合]) |
しかしながら、IF関数の条件式だけでは解決しないケースもあります。
たとえば、「目標達成率が100%以上だったチームの売上の合計を知りたい」となった場合をみてみましょう。
- 目標達成率が 100% 以上であれば〇を付ける
- 〇がついているチームの売上の合計を出す(足し合わせる)
この2つの処理がそれぞれ必要となります。
この処理はIF関数だけでは難しく、このような場合に活躍するのがSUMIF関数。
SUMIF関数では、検索条件に合う行や列の値の合計を算出することが可能なのです。
なお、余談にはなりますが、条件に合う値を基に計算してさらに値を求めたい場合は、次の関数が便利です。
SUMIF 関数 : 検索条件に合う値の合計を出したい場合=SUMIF(検索範囲,検索条件,合計範囲) AVARAGEIF 関数 : 検索条件に合う値の平均値を出したい場合=AVARAGEIF(検索範囲,検索条件,平均対象範囲) COUNTIF 関数 : 検索条件に合うデータの数をカウントしたい場合=COUNTIF(検索範囲,検索条件) |
このSUMIF 関数、AVARAGEIF 関数、COUNTIF 関数を使いこなすことで、条件に合った値だけを使って集計することができ、Excelでの集計作業が格段に速くなります。
SUMIF関数は、前述したAVARAGEIF関数やCOUNTIF 関数と比較しても、使用頻度の高い関数です。
検索条件の範囲も広く、文字、数値、日付など多岐にわたります。
- 会社名が「ABC株式会社」である値の売上額を合計したい
- 売上日が 2022年9月の売上額を合計したい
- 売上額が「1億円」以上の企業の純利益額を合計したい
- 住所に「東京都千代田区」に住所をもつ会社の売上額を合計したい
ただし、最終的に表示されるのは合計値という数値です。
ですから、合計する範囲はあくまで数値でなくてはいけません。また、SUMIF関数の場合は検索条件が1つしか使えないというルールがあります。
そのため、「社名が『ABC商会』かつ…」「売上日が 2022年9月で…」といった複数条件にはSUMIF関数は使用できないので注意しましょう。
SUMIF関数の使い方
ここからはSUMIF関数の基本的な使い方と手順を実際のデータを用いて解説します。
SUMIF関数の使い方は以下のとおりです。
=SUMIF(検索範囲,検索条件,合計範囲) |
- 検索範囲 : 検索したい条件が含まれているリストの範囲
- 検索条件 : 検索したい条件
- 合計範囲 : 合計したい値が含まれている範囲
たとえば次のデータでみていきましょう。
この表で、顧客名が「ABC株式会社」の売上額を合計したい場合、次のように検索範囲などを指定する必要があります。
検索範囲 : 会社名が入っているB4セルからB10セルを指定する 検索条件 : 「ABC株式会社」であること (文字列の場合は両端を「”」でくくって表記) 合計範囲 : 売上額の入っているC4セルからC10セルを合計する |
関数の書き方は次のようになり、ABC株式会社の売上額合計は「1,315,670 円」と表示されます。
=SUMIF(B4:B10,”ABC株式会社”,C4:C10) |
また、検索条件は直接文字列や数値で記載することもできますが、セル名で記載することもできます。
ここでは検索条件を「ABC株式会社」と直接入力するかわりに、その名称があるセル「B4」を指定しました。
=SUMIF(B4:B10,B4,C4:C10) |
これで、両方とも同じ結果を求められました。
なお、あとから同じように他の会社名で検索条件を指定するときに、簡単にコピぺできる点がこの方法のメリットです。
会社名が「大阪DX」の売上を合計したいという場合、検索条件の「B4」を「大阪DX」の表記がある「B7」に変えるだけで求めることができます。
=SUMIF(B4:B10,B7,C4:C10) |
これらは、列を検索範囲や合計範囲とする場合ですが、行を検索範囲や合計範囲とすることも可能です。
SUMIF関数でエラーが出るときの対処法
SUMIF 関数では、「#VALUE!」エラーが出ることがあります。
#VALUE!とは、Excelにおける数式のエラー値(数式エラーを示す返り値)の1つ。
数式で引数やオペランド(値、セル参照、名前、ラベル、関数など)の種類が正しくない場合に、セルに表示される値のことです。
引用:#VALUE!とは
多くは数式の書き方などの間違いによって起こりますが、ここではよくある間違いのパターンについて解説します。
1.「合計範囲」と「検索範囲」の指定が逆
本来は「=SUMIF(検索範囲,検索条件,合計範囲)」と書くところを、「=SUMIF(合計範囲,検索条件,検索範囲)」と書いてしまうケースがよくあります。あくまでも SUMIF 関数の最初の引数は「検索範囲」です。
ここに合計範囲が入らないよう気をつけましょう。
2.ダブルクォーテーション(””) のつけかたが違う
検索条件を指定するとき、基本的に数値にはダブルクォーテーションは不要ですが、文字列には必要です。
文字列であるにもかかわらず、ダブルクォーテーションで囲んでいないと正しく計算することはできません。
あわせて、数値でも等号や不等号が入る場合もダブルクォーテーションが必要です。
たとえば、検索条件に不等号を使う場合も日付を指定する際、「2022 年5月1日以降」を「”>=2022/5/1”」と表しましたが、数値の場合も「25以上」であれば「”>=25”」といったようにダブルクォーテーションで囲む必要があります。
3.合計範囲に数値がない
SUMIF関数の場合、合計範囲には必ず数値がなくてはいけません。数値以外のものが入っていてもエラーにはなりませんが、文字列の計算はできないので注意が必要。
すでにお伝えした「合計範囲」と「検索範囲」の指定が逆になっている場合と同じように、合計範囲に文字列しか入っていない場合は ゼロと表示されてしまいます。
4.合計範囲にエラー値がある
SUMIF関数は数式自体にはエラーがなくても、合計範囲にエラーがあることで、結果としてエラー値を返してしまいます。
合計範囲が少ない場合は気づきやすいですが、合計範囲が広くなってしまうとエラー値のセルがあることに気付かないこともあります。数式をいくら直してもエラーが消えない、という場合は合計範囲にエラー値がないかどうか確認しましょう。
複数条件で使えるSUMIFS関数とは
1つの条件の合計はすでに説明したSUMIF関数で求めますが、複数の条件を指定して数値を合計したいときは、SUMIFS関数を使います。
特定の文字列の指定、数値や日付との比較、部分一致での抽出などの条件を複数指定して数値を合計できる便利な関数です。
SUMIFS 関数 : 複数の検索条件に合う値の合計を出したい場合 |
SUMIF関数同様に、複数の検索条件に合う値の平均値を求める AVERAGEIFS 関数、COUNTIFS 関数もあります。
※再掲※ AVERAGEIFS 関数 : 複数の検索条件に合う値の平均値を出したい場合 COUNTIFS 関数 : 複数の検索条件に合うデータの数をカウントしたい場合 |
それぞれ検索範囲と検索条件をカンマ区切りで続けて書くことにより、複数の条件に合うセルが計算されます。
たとえば、次のような場合に使用すると便利です。
- 会社名が「ABC株式会社」と「横浜フーズ」の売上額を合計したい
- 売上日が 20212年5月から2022年6月の売上額を合計したい
- 売上額が「30万円」以上「50万円」未満の企業の純利益額を合計したい
- 会社名に「ABC」を含み、売上額が「30万円」以上の会社の売上額を合計したい
これらもSUMIF関数と同じく最終的に表示されるのは「合計値」です。そのため、合計する範囲には数値を入れることを注意しましょう。
SUMIFS 関数の基本的な使い方と手順を解説します。SUMIFS 関数を使う際は、以下のように記述します。
複数条件で使えるSUMIFS関数の使い方
「合計範囲」「検索範囲」「検索条件」のそれぞれの定義については SUMIF 関数と同じです。
SUMIFS 関数 :=SUMIFS(合計範囲,検索範囲1,検索条件1,検索範囲2,検索条件2・・・) |
合計範囲 : 合計したい値が含まれている範囲
検索範囲 : 検索したい条件が含まれているリストの範囲
検索条件 : 検索したい条件
「検索範囲 2, 検索条件 2」以降は任意の値です。
注意すべき点は、SUMIFS関数ではSUMIF 関数と合計範囲を書く順番が違うということ。
SUMIF関数の場合は「検索範囲→検索条件→合計範囲」の順番で指定していきますが、SUMIFS関数の場合は、「合計範囲→検索範囲1 →検索条件1→検索範囲2→検索条件2…」のように合計範囲を最初に指定します。
次のデータを例に、実際に計算してみましょう。
上の表は、SUMIF関数の実践で活用した「ABCホールディングス」という企業における 2022年度の売上一覧です。
会社名が「ABC株式会社」で支店名が「新宿支店」の売上額を合計したい場合、条件は 2 つあるので次のような考え方になります。
合計範囲 : 売上額の入っている D4セルから D10セルを合計する 検索範囲1 : 顧客名が入っているB4セルから B10セルを指定する 検索条件1 : 「ABC株式会社」であること ※文字列の場合はダブルクォーテーションの「”」でくくること 検索範囲2 : 支店名が入っているC4セルから C10セルを指定する 検索条件2 : 「新宿支店」であること ※文字列の場合はダブルクォーテーションの「”」でくくること |
関数の書き方は次のようになり、ABC株式会社新宿支店の売上額合計は「¥1,315,670」
であることがわかります。
=SUMIFS(D4:D10, B4:B10, “ABC商会”, C4:C10, “新宿支店”) |
また、SUMIF関数と同様に、検索条件は直接文字列や数値で記載せずにセル名で記載することもできます。
=SUMIFS(D4:D10, B4:B10, B4, C4:C10, C4) |
ここでは「ABC株式会社」の代わりにセル名「B4」、「新宿支店」の代わりにセル名「C4」を指定することで、同じ「¥1,315,670」となります。
あとから修正や変更を簡単にするために、直接の文字列を利用するよりもセル名を利用したほうが手間がはぶけます。そのため、状況に応じて適した方法を選ぶとよいでしょう。
まとめ
今回の記事ではSUMIF関数と、複数条件を扱うことができるSUMIFS関数を解説してきました。たとえば、数字の「◯円以上✕円未満」といったものから日付の「◯日から×日まで」、より複雑な条件が重なったものでもSUMIFS関数なら対応可能になります。
SUMIF関数とSUMIFS関数は使い方の手順や注意すべき点も似ているので、あわせて覚えておくと便利です。
IF関数を使いこなすことでExcelの操作は格段に効率化がはかれるので、本記事を参考にぜひ身につけてくださいね。