【エクセル】SUMIFS関数で3つ以上の複数の条件で合計する方法!条件の設定方法も解説

エクセルのSUMIFS関数の使い方と複数条件の設定方法

Excel(エクセル)で特定の条件に合う値を合計する時は、SUMIF関数を利用すると大変便利です。

しかし、SUMIF関数は検索条件を1つしか設定出来ません。

2つや3つ以上の複数の条件に一致する数値を合計したい時は、SUMIFS関数を利用します。

今回はSUMIFS関数に関する以下の内容をお届けします。

記事で紹介する内容

・SUMIFS関数の構文と引数

・SUMIFS関数の使い方と手順

・SUMIFS関数の「条件」の設定方法

・SUMIFS関数の5つの実例

・エラー「#VALUE!」や数値「0」が表示される場合の解決策

・OR条件で合計する場合の対処方法

エクセルのSUMIFS関数とは

SUMIFSの読み方は、サム・イフス、もしくはサム・イフズです。

エクセルのSUMIFS関数は複数の検索条件を指定して数値を合計したいときに使う、集計用の定番関数です。

特定の文字や数値、範囲指定、部分一致 など、さまざまな条件を指定して数値を集計出来ます。

SUMIF関数に複数のSが付いていることからも分かるとおり、SUMIF関数との違いは複数の検索条件(最大127個)を設定できる点です。

例えば、下の例のように、「30歳以上」でかつ、「男性」という2つの条件で合計体重を求めることができます。

SUMIFS関数の使い方(イメージ)
SUMIFS関数の使い方(イメージ)

SUMIFS関数は、AND条件(なおかつ)で平均値を算出します。

下の図でいうと、赤色の円と黄色の円が重なった青色の部分が合計値を算出する範囲です。

SUMIFS関数はAND条件で平均値を算出
SUMIFS関数はAND条件で平均値を算出

SUMIFS関数の構文と引数

SUMIFS関数の構文(書式)は、合計範囲、条件範囲、条件の引数で構成されています。

=SUMIFS(合計範囲, 条件範囲 1, 条件 1, [条件範囲 2, 条件 2], ...)

第1引数合計範囲」:入力必須です。合計値を求めたい値が入力されたセル範囲を指定します(例:D2:D10)

第2,4・・引数条件範囲」:条件を設定する対象のセル範囲を指定します。第1引数とセル範囲のサイズと位置関係を合わせる必要があります。(例:B2:B10)

第3,5・・引数条件」:「条件範囲」から、どんな条件で合計値を算出するかを設定します。セルを指定せず、文字列を指定する場合は「”」で囲みます。(例:2、"男"、">=32")

条件範囲と条件は、最大127組まで設定可能です。

[条件範囲]と[(検索)条件]によって絞り込まれた[合計範囲]の中のセルの値の合計が表示される仕組みになっています。

まずは、SUMIFS関数の引数がどのセル範囲を指定しているか、条件をどのように指定しているか、下の図を参考にして関数をイメージしてください。

図解.SUMIFS関数の構文と引数のイメージ図
図解.SUMIFS関数の構文と引数のイメージ図

ちなみに、SUMIF関数の構文は以下となっており、合計範囲の挿入位置がSUMIFS関数とは異なっています。

=SUMIF(範囲、検索条件、合計範囲)

SUMIFS関数の「条件」に使う記号(比較演算子やワイルドカード)

SUMIFS関数に設定する条件をどう設定したらいいか悩む人は多いです。

以上』『より上』『以下』『未満『等しい』『以外』を条件に設定するためには、下表の比較演算子(記号)を利用してください。

 条件 符号 直接入力する場合セルを指定する場合
以上 >=">=30"">="&E11
より大きい >">30"">"&E11
未満 <"<30"“<"&E11
以下 <="<=30"“<="&E11
等しい ="=30“ or "30““=”&E11 or E11
以外 <>"<>30“"<>"&E11

また、記号は半角で入力します。全角で入力すると、関数の結果でエラー「#N/A」が表示されるので注意が必要です。

また、ワイルドカードと呼ばれる「*」(アスタリスク)と「?」(疑問符)という記号を用いることで、「を含む」という条件を設定することも可能です。

ワイルドカード文字入力例説明
*(アスタリスク)*県「県」で終わる文字列
?(疑問符)? ?県2文字+「県」の文字列

ワイルドカードの使い方と実例は以下の記事で紹介していますので、参考にしてみてください。

SUMIFS関数の使い方と手順を紹介

それでは、実際にSUMIFS関数を使う手順を紹介します。

今回は、「30歳以上で、なおかつ男性」という2つの複数条件で合計を算出します。

手順1.SUMIFS関数を挿入

合計値を表示したいF3セルに、SUMIFS関数を挿入します。

セルに「=SUMIFS(」と入力します。

=SUMIFS(

手順1.SUMIFS関数の使い方(関数を挿入)
手順1.SUMIFS関数の使い方(関数を挿入)

手順2.SUMIFS関数の第1引数「合計範囲」を指定

次に、第1引数「合計範囲」を指定します。

合計値を算出したいセル範囲はD列にあるので、D3セルからD8セルまでドラッグして範囲を選択します。ドラッグしたら、次の引数を選択するため「,」(カンマ)を入力します。

=SUMIFS(D3:D8,

手順2.SUMIFS関数の使い方(合計範囲を設定)
手順2.SUMIFS関数の使い方(合計範囲を設定)

手順3.SUMIFS関数の第2,3引数に第1条件と範囲を指定

第2引数「条件範囲1」を指定します。

条件1の対象のセル範囲はB列にあるので、B3セルからB8セルまでドラッグして範囲を選択します。ドラッグしたら、次の引数を選択するため「,」(カンマ)を入力します。

次に、第3引数「条件1」を指定するため、数式に「”男”」と入力して、「,」(カンマ)を入力します。

=SUMIFS(D3:D8,B3:B8,"男",

手順3.SUMIFS関数の使い方(条件1、条件範囲1を設定)
手順3.SUMIFS関数の使い方(条件1、条件範囲1を設定)

手順4.SUMIFS関数の第4,5引数に第2条件と範囲を指定

手順3と同様の手順で、第4引数「条件範囲2」と第5引数「条件2」を指定します。

30歳以上を条件にしたいので、条件は「">=30"」と入力します。

=SUMIFS(D3:D8,B3:B8,"男",C3:C8,">=30")

手順4.SUMIFS関数の使い方(条件2、条件範囲2を設定)
手順4.SUMIFS関数の使い方(条件2、条件範囲2を設定)

手順5.SUMIFS関数が完成(結果を確認)

SUMIFS関数が完成したので、「Enter」キーを押してください。

そうすると、「30歳以上の男性」の合計体重が「190kg」と算出することができました。

手順5.SUMIFS関数の使い方(完成を確認)
手順5.SUMIFS関数の使い方(完成を確認)

SUMIFS関数が書きづらい(指定しづらい)場合

SUMIFS関数は、条件を増やすと、「条件範囲1、条件1」「条件範囲2、条件2」「条件範囲3、条件3」といったように、引数が増えて、関数が書きづらくなります。

そんなときは、無理をしてセルに直接入力しようとせず、関数の作成途中からでも大丈夫なので、数式バーの横にある「関数の挿入」ボタンを使いましょう。

SUMIFS関数を作成しづらい場合は、「関数の挿入」ボタンを利用
SUMIFS関数を作成しづらい場合は、「関数の挿入」ボタンを利用

「関数の挿入」ダイアログボックスでは、下のように、1つずつの引数を設定しやく、引数間の「,」の入力も不要なので、SUMIFS関数が作成しやすいです。

「関数の挿入」ダイアログボックスは関数の作成を容易にする
「関数の挿入」ダイアログボックスは関数の作成が容易

SUMIFS関数を使った実例1(単一条件)

SUMIFS関数は、SUMIF関数としても利用できます。

つまり、複数の条件ではなく、1つの条件(単一条件)で合計値を求めることができます。

下の例のように、第2引数に「条件範囲」を、第3引数「条件」に「"<>"&"A製品"」と入力することで、C列が「A製品以外」の合計数量をE列から求めることができます。

=SUMIFS(E3:E11,C3:C11,"<>"&"A製品")

実例1.SUMIFS関数を単一条件で利用
実例1.SUMIFS関数を単一条件で利用

SUMIFS関数を使った実例2(3つ以上の複数条件)

SUMIFS関数では、最大127個の条件を設定することができます。

実例として異なる列に3つの条件を設定して、合計を求める方法を紹介します。

下の例のように、C列は「A製品以外」を条件に、D列は「西区」を条件に、E列は「2024/2/25」を条件して、合計数量を算出します。

SUMIFS関数はAND条件(かつ)で平均値を算出するので、7行目と10行目のデータが条件に当てはまる対象となります。

=SUMIFS(F3:F11,C3:C11,"<>"&"A製品",D3:D11,"西区",E3:E11,"2024/2/25")

実例2.SUMIFS関数を3つの複数条件で利用
実例2.SUMIFS関数を3つの複数条件で利用

SUMIFS関数を使った実例3(異なる列に複数条件)

SUMIFS関数で、異なる列にそれぞれ条件を設定して、合計を求める方法を紹介します。

下の例のように、C列は「A製品以外」を条件に、D列は「西区」を条件にして、合計数量を算出します。

SUMIFS関数はAND条件(かつ)で平均値を算出するので、7行目と10行目のデータが条件に当てはまる対象となります。

=SUMIFS(E3:E11,C3:C11,"<>"&"A製品",D3:D11,"西区")

実例3.SUMIFS関数を使って、異なる列に複数条件を指定
実例3.SUMIFS関数を使って、異なる列に複数条件を指定

SUMIFS関数を使った実例4(日付を条件に指定)

SUMIFS関数の条件に日付を指定して、合計を求める方法を紹介します。

下の例のように、C列は「C製品」を条件に、D列は「2024年3月以降」を条件にして、合計数量を算出します。

SUMIFS関数はAND条件(かつ)で平均値を算出するので、8、10、11行目のデータが条件に当てはまる対象となります。

=SUMIFS(E3:E11,C3:C11,"C製品",D3:D11,">=2024/3/1")

実例4.SUMIFS関数を使って、日付を条件を指定
実例4.SUMIFS関数を使って、日付を条件を指定

SUMIFS関数を使った実例5(同じ条件範囲に複数の条件)

SUMIFS関数で、同じ条件範囲に複数の条件を設定することは出来ません

引数に同じ条件範囲を設定すると、結果が「0」で表示されます。

それは、SUMIFS関数がAND条件で利用されるように出来ているので、すべての条件が重なるものが存在しなくなるからです。

例えば、下の図のように、C列から「A製品」「B製品」の合計を算出しようとしても、数値0が表示されます。

SUMIFS関数の結果が0になる原因(同じ列に条件設定)
SUMIFS関数の結果が0になる原因(同じ列に条件設定)

そのため、OR条件(かつ)で同じ列に条件を設定して合計を算出したい場合は、SUMIF関数を複数個を使って算出します。

=SUMIF(C3:C11,"A製品",F3:F11)+SUMIF(C3:C11,"B製品",F3:F11)

同じ列に複数の条件を設定して合計を算出する方法
同じ列に複数の条件を設定して合計を算出する方法

関数が長くなるのを防ぎたいという場合は、下の見出しで紹介するDSUM関数を使った方法を利用してください。

OR条件で合計値を算出する方法(DSUM関数を利用)

OR条件で合計値を算出するときは、DSUM関数(ディーサム)を利用します。

DSUM関数はAND条件、OR条件、その複合条件など複雑な条件指定に対応して、合計を求める関数です。

DSUM関数の書式と引数は以下のとおりです。

=DSUM(データベース,フィールド,条件)

今回は、OR条件に絞って、同じ列に複数の条件を指定する方法を紹介します。

同じ列に条件を指定する場合は、DSUM関数の引数を以下の図解を参考に設定してください。

=DSUM(B2:D11,D2,F7:F9)

OR条件で合計を算出する方法(DSUM関数を利用) 同じ列に複数条件
OR条件で合計を算出する方法(DSUM関数を利用) 同じ列に複数条件

第3引数「条件」に使用する条件表は、F7~F9セルのように、見出しも含めて必ず上下のセルに並べて設定します。

そうすると、F3セルに「A商品」と「B商品」の合計数量がOR条件で「310」と算出することができます。

SUMIFS関数でエラー「#VALUE!」や「0」が表示される場合

SUMIFS関数で「#VALUE!」のエラーや「0」が表示されたり、警告(注意)が表示される原因は、引数の設定方法が誤っているためです。

引数「条件」の設定に利用する「>=」「<=」「>」「<」の記号を全角で入力すると、「0」が表示されます。必ず、半角で入力しましょう。

下の例の場合、全角の「」が数式に混在しているため、関数の結果が0となります。

=SUMIFS(E3:E11,C3:C11,"<"&"A製品")

SUMIFS関数で「0」が表示される原因
SUMIFS関数で「0」が表示される原因

また、合計範囲や条件範囲で指定しているセル範囲のサイズが異なっていたり、位置関係がズレていると、下の図のように、「#VALUE!」というエラーが発生します。

=SUMIFS(E3:E12,C3:C11,"<>"&"A製品")

SUMIFS関数で「#VALUE!」のエラーが表示される原因
SUMIFS関数で「#VALUE!」のエラーが表示される原因

また、条件に利用する「”」「&」などの記号の位置を間違っていると、「この数式には問題があります。」というエラーが発生するので、注意しましょう。

エクセルで合計するさまざまな方法と関数

エクセルの合計に関するリンク記事を紹介します。

SUMIFS関数だけでなく、合計を求めることに関連するその他の関数の使い方を合わせて参考にしてください。

セルの値を合計する「SUM関数」

エクセルでセルの値を合計する時は、SUM関数と足し算を利用します。

Excelの入門編として、足し算を簡単に行えるSUM関数の利用方法と、四則演算(足し算・引き算・割り算・掛け算)の利用方法を分かりやすく紹介します。

各シートの同じセル位置を合計する「串刺し演算」

Excel(エクセル)には複数のワークシートの同じ位置のセルを簡単に集計することが出来る『串刺し集計』機能が備わっています。

3D集計』とも呼ばれているこの機能の使い方を紹介しています。

単一条件に一致する値を合計する「SUMIF関数」

特定の条件の数値を合計するときは、SUMIF関数を利用すると大変便利です。

エクセルで膨大なデータを取り扱う人にとっては、大きな武器となるエクセル定番関数の一つです。

複数の条件に合った合計値をOR条件で求める「SUMIFS関数」

この記事で紹介したように、SUMIFS関数を普通に利用すると、OR条件(または)では利用できません

それは、SUMIFS関数はAND条件(なおかつ)で使用できる仕様になっているからです。

下のリンク記事では、SUMIFS関数をOR条件で利用する裏テクを紹介します。

指定した集計方法で数値を集計する「SUBTOTAL関数」

SUBTOTAL関数は、指定した集計方法でセル範囲の数値を集計する方法です。

集計とは、「合計」だけでなく「平均値」「最大値」「最小値」「セルの個数」など様々な集計をこのSUBTOTAL関数で可能となります。

SUBTOTAL関数の仕組みを図解を含めながら解説します。

OR条件でもAND条件でも合計出来る「DSUM関数」

複数条件に合う合計値を求めるときはSUMIFS関数を用います。

しかし、この記事でも紹介したように、この関数はAND条件(なおかつ)でしか利用できません。

複数の条件で、OR条件(もしくは)で合計を求める時は、DSUM関数(ディー・サム)を利用します。

さらに、DSUM関数は、OR条件でもAND条件でも、それらを組み合わせた複合条件でも合計値を求めることが出来る関数です。