1. Excel で条件に合わせて集計する場合の関数
これだけ覚えれば OK! Excel SUMIF 関数の使い方簡単解説
2021 年 8 月 26 日
Microsoft Excel には数多くの関数がありますが、一度覚えてしまえば仕事のスピードが格段に上がるため、使用頻度の高い関数はぜひとも覚えておきたいものです。そこで今回は、条件付きの集計ができる便利な関数「SUMIF 関数」の基本的な知識や使い方などを解説します。
まずは条件に合わせた処理をする関数について見ていきましょう。
「IF」のつく関数や今回紹介する SUMIF 関数の概要について紹介します。
1-1. 「IF」のつく便利な関数に注目
Excel をお使いであれば、「IF」関数は聞いたことがあるかもしれません。条件に合わせて値を表示することで、条件に合うもの、合わないものを抽出できる関数です。
具体的には、「土日祝日」であれば「休日」と表示する、目標達成率が 100% 以上であれば丸を付ける、などのようなことができます。
【使い方】 =IF(論理式, 値が真の場合, [値が偽の場合])
しかし、実際の仕事では単純な IF 関数の条件式だけで解決しないケースもあります。
たとえば、「目標達成率が 100% 以上の部署の売上額合計を求めたい」となった場合はどうでしょうか。
- 目標達成率が 100% 以上であれば丸を付ける
- 丸がついている部署の売上額を足し合わせる
この 2 つの処理が必要となります。文章では簡単なように見えますが、IF 関数だけで計算を行うのは少々難しい処理です。このような場合に便利なのが SUMIF 関数です。SUMIF 関数では、検索条件に合う行や列の値の合計を集計できます。
ちなみに、条件に合う値を基に計算してさらに値を求めたい場合に、以下のような 3 つの便利な関数が存在します。
- SUMIF 関数 : 検索条件に合う値の合計を出したい場合
【使い方】 =SUMIF(検索範囲,検索条件,合計範囲) - AVARAGEIF 関数 : 検索条件に合う値の平均値を出したい場合
【使い方】 =AVARAGEIF(検索範囲,検索条件,平均対象範囲) - COUNTIF 関数 : 検索条件に合うデータの数をカウントしたい場合
【使い方】 =COUNTIF(検索範囲,検索条件)
SUMIF 関数、AVARAGEIF 関数、COUNTIF 関数の 3 つを使いこなすことで、条件に合った値だけを使って集計することができます。
1-2. 条件に合わせて集計する SUMIF 関数
SUMIF 関数は、AVARAGEIF 関数や COUNTIF 関数と比較しても特に使用頻度の高い関数です。検索条件の範囲も広く、文字、数値、日付などを検索条件として以下のようなタスクが可能です。
- 会社名が「ABC商会」である値の売上額を合計したい
- 売上日が 2021 年 5 月の売上額を合計したい
- 売上額が「1 億円」以上の企業の純利益額を合計したい
- 住所に「東京都千代田区」を含む会社の売上額を合計したい
ただし、最終的に表示されるのは「合計値」であるため、合計する範囲は数値でなくてはいけません。また、SUMIF 関数の場合は検索条件が 1 つしか使えないという制約もあります。そのため、「社名が『ABC商会』かつ…」「売上日が 2021 年 5 月または…」といった複数条件には SUMIF 関数は使用できません。
このような条件については SUMIFS 関数が使えますので、別途 SUMIFS 関数の使い方に関する記事をご参照ください。
2. 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)
これでも同じ結果を得ることができます。
後で同じように他の顧客名で検索条件を指定するときに、簡単にコピーできる点がこの方法の特長です。
顧客名が「エブリー大阪」の売上額を合計したいという場合、検索条件の「B4」を「エブリー大阪」の表記がある「B7」に変えるだけで計算できます。
=SUMIF(B4:B10,B7,C4:C10)
以上は列を検索範囲や合計範囲とする場合ですが、行を検索範囲や合計範囲とすることもできます。
先ほどと同じ内容の表ですが、行と列が入れ替わっています。
検索範囲と合計範囲に行の範囲を指定すれば同様に計算することができます。
3. SUMIF 関数の使い方〜応用編〜
次に、応用的な SUMIF 関数の使い方について解説します。
3-1. 行や列全体を検索範囲に指定する場合
データが次々増えていくような場合、その度に検索範囲を変えなくてはいけないのは面倒ですが、行や列全部を検索範囲とすることもできます。
以下の例では、検索範囲を「B:B」、合計範囲を「C:C」と指定しています。
=SUMIF(B:B,B4,C:C)
このように検索範囲と合計範囲に列名を指定することによって、「B 列全体を検索範囲」として、「検索条件にあう C 列全体を合計範囲とする」ことができ、データに追加、修正などがあって範囲が変わっても問題なく対応することができます。
また、列全体だけでなく、同様に行全体を指定することも可能です。ただし、合計範囲となる列に合計して欲しくない数値が間違って入らないように注意しましょう。
3-2. 複数の行や列を検索範囲、合計範囲に指定する場合
複数の表をまたいで計算したい場合にも、SUMIF は使えます。
たとえば、以下のように時系列に 2 つに分かれている表をまたいで「ABC商会」の売上を合計したい場合、検索範囲をセル K5 から O11、合計範囲をセル L5 から P11 と、表をまたぐ形で指定します。
=SUMIF(K5:O11,K5,L5:P11)
検索範囲と合計範囲が複数列になっていても正しく計算することができます。
ただし、複数の行や列を範囲に指定する場合は、検索範囲と合計範囲で指定する行や列の数が一致している必要があります。上記の例では、検索範囲は K 列から O 列まで 5 列、合計範囲は L 列から P 列まで 5 列と一致しているので正しく計算ができますが、たとえば検索範囲が 1 列で合計範囲が 2 列、という指定の仕方では正しく計算できないので注意しましょう。
3-3. 検索条件に不等号を使う場合
検索条件には等号だけでなく、不等号を使うこともできます。
検索条件が数値の場合に使うこともできますし、日付の場合にも使うこともできます。
以下では「日付が 2021 年 6 月 1 日以降の売上額を合計する」という条件にするため、検索条件を「”>=2021/6/1”」と指定しています。
=SUMIF(A:A,”>=2021/6/1”,C:C)
なお、「○から○まで」という期間の指定は、条件が複数になってしまうため SUMIF 関数では処理できないことに注意が必要です。
3-4. 部分一致の検索を行う場合
検索条件となる言葉の前後にアスタリスク (*) をつけることで、部分一致で検索をすることもできます。
下記の事例では、「ABC商会」と「ABCエンタープライズ」は両方とも「ABCグループ」に属する会社であるため、合わせて売上額を集計したいと考えています。
この場合、検索条件に ”ABC*” とアスタリスクをつけることで、アスタリスクがついている部分にはどんな文字列が入っていてもヒットするようになります。もちろん、”*ABC” や ”*ABC*” など前後いずれにアスタリスクを入れることも可能です。
=SUMIF(B:B,"ABC*",C:C)
ここで、「アスタリスクを使った検索をすると、セルの参照が使えないのではないか」という疑問が湧くかもしれません。その場合はアンパサンド (&) を使いましょう。
「セル A3 の参照値と部分一致」という検索条件にしたい場合は、「”*”&A3&”*”」という書き方で解決します。
4. SUMIF 関数でエラーにならないために
SUMIF 関数では、「#VALUE!」エラーが出ることがあります。
その多くは数式の書き方の基本的な間違いによって起こりますが、ここではよくある間違いのパターンについて解説します。
4-1. 「合計範囲」と「検索範囲」の指定が逆になっている場合
本来は「=SUMIF(検索範囲,検索条件,合計範囲)」と書くところを、「=SUMIF(合計範囲,検索条件,検索範囲)」と書いてしまうケースがよくあります。
あくまでも SUMIF 関数の最初の引数は「検索範囲」です。ここに合計範囲が入らないよう気をつけましょう。
4-2. (””) のつけかたが間違っている場合
検索条件を指定するとき、基本的に数値にはダブル クォーテーションは不要ですが、文字列には必要です。
上記の表のように、文字列であるにも関わらずダブル クォーテーションで囲んでいない場合は、正しく計算できません。
一方、数値でも等号や不等号が入る場合は、ダブル クォーテーションが必要です。
先述のとおり、検索条件に不等号を使う場合も日付を指定するときに「2021 年 6 月 1 日以降」を「”>=2021/6/1”」と表しましたが、数値の場合も「12 以上」であれば「”>=12”」といったようにダブル クォーテーションで囲んで表記する必要があります。
4-3. 合計範囲に数値がない場合
SUMIF 関数の場合、合計範囲には必ず数値がなくてはいけません。数値以外のものが入っていてもエラーにはなりませんが、文字列の演算などはできないので注意が必要です。
先述の「合計範囲」と「検索範囲」の指定が逆になっている場合の説明にも関連しますが、合計範囲に文字列しか入っていない場合は 0 (ゼロ) になってしまいます。
4-4. 合計範囲にエラーの値がある場合
SUMIF 関数は数式自体にはエラーがなくても、合計範囲にエラーがあることで、結果としてエラー値を返してしまいます。
合計範囲が少ない場合は気づきやすいですが、合計範囲が広くなってしまうとエラー値のセルがあることに気付かないこともあります。
数式をいくら直してもエラーが消えない、という場合は合計範囲にエラー値がないかどうか確認しましょう。
5. まとめ
今回は Excel をより効率的に使うために覚えておきたい関数として、SUMIF 関数を解説しました。
SUMIF 関数を活用すると、条件に合うセルの合計を簡単に求められるだけでなく、文字列、数値、日付などの条件も柔軟に指定できます。さまざまな検索条件を設定して SUMIF 関数の応用範囲を広げ、業務の効率化を図りましょう。
【参考】関連する関数
SUMSQ 複数の各値に対して 2 乗演算を実行した後、それらを合計する
リモートワーク・ハイブリッドワークに適した環境設置のために
リモートワーク・テレワーク・在宅勤務環境を安全・快適に実現するためには、「セキュリティの確保」「Web 会議のためのデバイス選択」「グループワークのためのアプリケーション」など検討する課題も多く、またこれらを潤沢な資金で準備するのではなくコスト削減につなげることが大切です。
これらの達成のための Microsoft 365、Excel の使い方や、リモートワーク・ハイブリッドワーク環境を充実させるために以下の記事が参考になります。
- Microsoft 365・Excel: Microsoft 365 から、Excel の使い方など生産性を向上させるコラム
- Teams・Web 会議: Microsoft Teams を始め、Web 会議をワンランクアップさせるコラム
- リモートワーク・テレワーク: リモートワークやテレワークなど、新しい働き方のお役立ちコラム
他にも Excel 作業を高速化するテクニックを厳選! 無料ガイドブック
Excel ショートカット 30 選
Microsoft 公式の超時短仕事術 Excel ショートカット 30 選です。
マウスなしで快適に Excel を使いこなしたい、より効率に作業したいという方必見!
ご購入検討の問い合わせ先
Web フォームで購入相談
本情報の内容 (添付文書、リンク先などを含む) は、作成日時点でのものであり、予告なく変更される場合があります。