Excel

【Excel】エクセルで複数条件の合計を求める方法(SUMIFS関数・SUMIF関数)

SUMIFS関数による複数条件合計の基本操作 - 担当者と地域を指定した入力例
当サイトでは記事内に広告を含みます
いつも記事を読んでいただきありがとうございます!!! これからもお役に立てる各情報を発信していきますので、今後ともよろしくお願いします(^^)/

エクセルで売上や経費、数量などを集計するとき、「特定の担当者だけ」「ある期間だけ」「商品と地域の両方が一致するものだけ」といった複数条件で合計したい場面は少なくありません。

このような集計には、複数の条件を指定できるSUMIFS関数が便利です。

条件が1つだけならSUMIF関数でも集計できますが、複数条件に対応するSUMIFS関数との違いを理解しておくと、表の作成や集計作業が格段に進めやすくなります。

複数条件の合計にはSUMIFS関数を使うことが基本です。

SUMIFS関数は、合計する範囲と条件範囲を指定し、すべての条件を満たすデータだけを合計します。

この記事では、サンプルデータを使いながら、SUMIFS関数とSUMIF関数による条件付き合計の方法、数式の組み立て方、よくあるエラーへの対処法を確認していきましょう。

 

SUMIFS関数による複数条件合計の基本操作

それではまず、SUMIFS関数で複数条件の合計を求める基本操作について解説していきます。

日付 担当者 商品 地域 売上金額
2026/4/1 田中 ノートPC 東京 120000
2026/4/2 佐藤 モニター 大阪 45000
2026/4/3 田中 モニター 東京 38000
2026/4/4 田中 ノートPC 大阪 110000

 

SUMIFS関数の書式

SUMIFS関数は、複数の条件に一致する数値だけを合計するための関数です。

=SUMIFS(合計範囲, 条件範囲1, 条件1, 条件範囲2, 条件2, …)

最初に指定する合計範囲は、実際に足し合わせたい数値が入ったセル範囲です。

続く条件範囲には、判定に使う項目のセル範囲を指定します。

その直後の条件には、抽出したい文字列、数値、セル参照、比較演算子を含む条件式を入力します。

SUMIFS関数では、指定した条件をすべて満たす行だけが集計対象になります。

たとえば、E列の売上金額を合計し、B列の担当者が田中、D列の地域が東京であるデータだけを対象にする場合を考えます。

=SUMIFS(E2:E5,B2:B5,”田中”,D2:D5,”東京”)

この数式の結果は158000です。

田中かつ東京という2つの条件に一致するのは、1行目の120000と3行目の38000であるためです。

条件範囲と合計範囲は、同じ行数にそろえる必要があります。

たとえば合計範囲をE2:E100にしているのに、条件範囲をB2:B99にすると、正しい結果を返せません。

【操作のポイント】SUMIFS関数では、合計範囲を先頭に入力し、その後に条件範囲と条件を1組ずつ追加します。

 

担当者と地域を指定した入力例

担当者や地域を毎回数式内へ直接入力するのではなく、条件をセルに入力して参照すると、集計表を使い回しやすくなります。

たとえばG2セルに田中、H2セルに東京と入力し、I2セルに集計結果を表示するケースです。

SUMIFS関数による複数条件合計の基本操作 - 担当者と地域を指定した入力例

G2セルに担当者、H2セルに地域を入力した場合の数式です。

=SUMIFS($E$2:$E$5,$B$2:$B$5,G2,$D$2:$D$5,H2)

このようにセル参照を使えば、G2やH2の値を変更するだけで、別の担当者や地域の売上金額へ即座に切り替わります。

データ範囲には$記号を付けた絶対参照を使うと、数式を下方向や横方向へコピーしても集計対象がずれません。

条件を入力するセルは相対参照、元データの範囲は絶対参照にする組み合わせが実務では扱いやすいでしょう。

条件欄を作る方法は、月次報告書や担当者別の売上一覧など、利用者が条件を入れ替えて確認する表に向いています。

入力ミスを抑えたい場合は、条件セルに入力規則を設定し、担当者名や地域名をプルダウンで選べるようにする方法も有効です。

【操作のポイント】条件をセル参照にすると、数式を書き換えずに集計条件だけを変更できます。

 

数式入力とオートフィルの手順

複数の担当者や地域について一覧で合計したいときは、SUMIFS関数を入力した後にオートフィルを使います。

たとえばG列に担当者、H列に地域、I列に売上合計を並べると、複数の組み合わせを一度に集計できます。

最初の結果セルであるI2を選択し、数式バーまたはセルへSUMIFS関数を入力します。

SUMIFS関数による複数条件合計の基本操作 - 数式入力とオートフィルの手順

=SUMIFS($E$2:$E$100,$B$2:$B$100,G2,$D$2:$D$100,H2)

数式を確定したら、I2セル右下に表示されるフィルハンドルを下へドラッグします。

G2とH2の参照は、I3ではG3とH3、I4ではG4とH4へ自動で変わります。

一方で、売上金額列と元データの条件範囲は$記号で固定されているため、同じデータ表を対象として合計されます。

先頭セルに正しい参照形式の数式を作ることが、オートフィル成功の鍵です。

データが増える可能性がある場合は、元データをテーブル形式にしておくと、行の追加に合わせて集計対象を広げやすくなります。

【操作のポイント】下へコピーする数式では、元データ範囲だけを絶対参照にして、条件セルは行番号が変わるように設定します。

 

SUMIF関数とSUMIFS関数の使い分け

続いては、SUMIF関数とSUMIFS関数の違いを確認していきます。

関数 対応する条件数 主な用途 書式の特徴
SUMIF 1つ 単一条件の合計 条件範囲、条件、合計範囲の順
SUMIFS 2つ以上 複数条件の合計 合計範囲、条件範囲、条件の順

 

SUMIF関数が適する集計

SUMIF関数とSUMIFS関数の使い分け - SUMIF関数が適する集計

SUMIF関数は、条件が1つだけのときに使う関数です。

=SUMIF(条件範囲, 条件, 合計範囲)

たとえば、B列の担当者が田中である行のE列の売上金額を合計する場合は、次の数式を使用します。

=SUMIF(B2:B5,”田中”,E2:E5)

この場合、地域や商品は判定せず、担当者が田中であるすべての売上を合計します。

結果は268000となります。

判定条件が1つだけであれば、SUMIF関数のほうが数式を短く読みやすくできます。

ただし、将来的に地域や期間などの条件を追加する可能性が高い場合は、最初からSUMIFS関数を使う方法もあります。

SUMIFS関数は条件を1組だけ指定しても利用できるためです。

【操作のポイント】担当者別、商品別、区分別など、判定が1項目だけならSUMIF関数がわかりやすい選択です。

 

引数の順番の違い

SUMIF関数とSUMIFS関数を使い分ける際に特に注意したいのが、引数の並び順です。

SUMIF関数は条件範囲から始まりますが、SUMIFS関数は合計範囲から始まります。

この違いを混同すると、数式は入力できても意図しない結果になることがあります。

SUMIF関数とSUMIFS関数の使い分け - 引数の順番の違い

SUMIF関数は =SUMIF(B2:B5,”田中”,E2:E5)

SUMIFS関数は =SUMIFS(E2:E5,B2:B5,”田中”,D2:D5,”東京”)

SUMIF関数では、まずどの列を条件として判定するかを指定します。

SUMIFS関数では、まず何を合計するのかを決め、その後に判定条件を追加していく流れです。

SUMIFS関数の先頭は合計範囲と覚えておくと、入力時の混乱を減らせます。

関数名が似ているため、数式をコピーして修正する場合にも引数の順番を見直しましょう。

【操作のポイント】SUMIFは条件範囲から、SUMIFSは合計範囲から始まる点を区別します。

 

複数条件へ切り替える判断

集計の条件が後から増えたときは、SUMIF関数をSUMIFS関数へ変更します。

たとえば担当者別の売上合計に加えて、東京だけの売上、特定の商品だけの売上を確認したい場合です。

SUMIF関数では複数条件を直接指定できないため、SUMIFS関数が必要になります。

田中のノートPC売上を合計するなら、次の数式です。

=SUMIFS(E2:E5,B2:B5,”田中”,C2:C5,”ノートPC”)

条件を追加する際は、条件範囲と条件を必ずセットで後ろへ加えます。

商品条件を追加したいのに、商品名だけを入力しても正しく動作しません。

条件を増やすたびに、判定する列と判定する値を1組で指定することが重要です。

集計の要件を先に文章で整理してから数式を作ると、必要な列や条件の漏れを防げます。

【操作のポイント】2つ以上の条件で絞り込む必要が生じた時点で、SUMIFS関数へ切り替えます。

 

日付と数値を含む条件指定

続いては、日付や数値を使った条件指定について確認していきます。

日付 担当者 商品 数量 売上金額
2026/4/1 田中 ノートPC 2 120000
2026/4/12 佐藤 モニター 3 45000
2026/5/3 田中 モニター 4 38000
2026/5/20 鈴木 ノートPC 1 60000

 

指定日以降と指定日以前の集計

日付条件を使うと、指定日以降、指定日以前、特定期間内の売上を合計できます。

たとえば、2026年5月1日以降の売上金額を合計する場合は、日付列を条件範囲にします。

=SUMIFS(E2:E5,A2:A5,”>=”&DATE(2026,5,1))

DATE関数を使うと、パソコンの日付表示形式に左右されにくく、日付条件を明確にできます。

セルG2に開始日を入力している場合は、次のようにセル参照で指定できます。

=SUMIFS(E2:E5,A2:A5,”>=”&G2)

比較演算子である>=とセル参照を&で連結する点が重要です。

日付の比較条件では、比較記号と日付セルを&でつなぐ必要があります。

日付が文字列として保存されていると、期待した結果にならないことがあります。

セルを選択して表示形式を確認し、日付として認識されているかを先に確認しましょう。

【操作のポイント】日付条件は、比較記号を文字列として記述し、DATE関数または日付セルと連結します。

 

期間を指定した月別合計

月別の売上を集計する場合は、開始日以上と翌月の開始日未満という2つの条件を設定すると安全です。

2026年5月分の売上金額を求める数式は、次のようになります。

=SUMIFS(E2:E5,A2:A5,”>=”&DATE(2026,5,1),A2:A5,”<“&DATE(2026,6,1))

終了日を5月31日として<=で指定する方法もありますが、時刻を含むデータでは注意が必要です。

たとえば5月31日の午後3時という日時データは、日付だけの5月31日より大きい値として扱われる可能性があります。

そのため、月次集計では翌月1日より前という条件を使う方法が安定します。

開始月をG2セルに入力し、G2に2026/5/1が入っているなら、EDATE関数で翌月初日を作ることもできます。

=SUMIFS($E$2:$E$100,$A$2:$A$100,”>=”&G2,$A$2:$A$100,”<“&EDATE(G2,1))

この形なら、G2の月を変更するだけで対象月の合計が更新されます。

【操作のポイント】月別集計は、月初以上かつ翌月初日未満という2条件で指定すると時刻入りデータにも対応しやすくなります。

 

数量や金額を基準にした集計画面

数値条件では、指定した数量以上、目標金額未満、一定範囲内といった集計ができます。

たとえば数量が3以上の商品の売上金額を合計する場合は、数量列を条件範囲に設定します。

売上集計.xlsx – Excel− □ ×
ファイルホーム挿入数式データ
BI罫線中央揃えΣ オートSUM
I2fx=SUMIFS(E2:E5,D2:D5,”>=3″)
数量が3以上の売上を合計
↓
A B C D E F
1 日付 担当者 商品 数量 売上金額 集計結果
2 2026/4/1 田中 ノートPC 2 120000 83000
3 2026/4/12 佐藤 モニター 3 45000
4 2026/5/3 田中 モニター 4 38000

数量が3以上の売上を合計する数式は、次のとおりです。

=SUMIFS(E2:E5,D2:D5,”>=3″)

比較演算子と数値を直接指定する場合は、”>=3″のように二重引用符で囲みます。

基準値をG2セルに入力している場合は、”>=”&G2と指定します。

数値をセル参照する場合も、比較演算子と&記号の組み合わせが必要です。

売上金額が50000以上、数量が3以上など、数値条件を複数組み合わせることもできます。

【操作のポイント】数値条件では、>=や<などの比較演算子を条件に含め、セル参照時は&で結合します。

 

文字列とワイルドカードを使う条件設定

続いては、文字列やワイルドカードを使う条件設定について確認していきます。

商品名 分類 担当者 売上金額
ノートPC Pro PC 田中 120000
ノートPC Lite PC 佐藤 80000
液晶モニター 周辺機器 田中 38000
モニターアーム 周辺機器 鈴木 12000

 

完全一致による文字列集計

文字列を条件にする場合、SUMIFS関数は通常、入力した文字列と完全に一致するデータを集計します。

分類がPCである商品の売上金額を求める場合は、次の数式です。

=SUMIFS(D2:D5,B2:B5,”PC”)

この数式では、分類列がPCと完全に一致する1行目と2行目の売上金額を合計します。

担当者と分類のように文字列条件を組み合わせることもできます。

=SUMIFS(D2:D5,B2:B5,”PC”,C2:C5,”田中”)

文字列の条件は二重引用符で囲むか、条件が入力されたセルを参照します。

セル参照にすれば、商品分類や担当者を変更するだけで同じ集計式を利用できます。

入力データの前後に余計な空白があると、見た目は同じでも一致しないことがあります。

データを貼り付けた後に集計結果が0になる場合は、空白や表記ゆれを疑いましょう。

【操作のポイント】文字列を直接指定するときは二重引用符で囲み、表記ゆれや不要な空白にも注意します。

 

部分一致に使うアスタリスク記号

商品名の一部だけを条件にしたい場合は、ワイルドカードのアスタリスク記号を利用できます。

たとえば商品名にノートPCという文字を含むデータの売上金額を合計する場合は、条件の前後にアスタリスク記号を付けます。

=SUMIFS(D2:D5,A2:A5,”*ノートPC*”)

この数式では、ノートPC ProとノートPC Liteの両方が集計対象になります。

先頭がノートPCで始まるデータに限定したい場合は、”ノートPC*”と記述します。

末尾がProで終わるデータに限定する場合は、”*Pro”と指定します。

アスタリスク記号は任意の文字列を表すため、部分一致の集計に役立ちます。

ただし、対象件数が多い表では、部分一致の条件が意図しない商品まで含める場合があります。

商品コードや分類列があるなら、名称の部分一致よりも、分類列を完全一致で判定するほうが安定することもあります。

【操作のポイント】部分一致では、検索したい文字列の前後にアスタリスク記号を付けて条件を作成します。

 

除外条件と空白セルの扱い

SUMIFS関数では、特定の文字列を除外する条件や、空白セルだけを対象にする条件も指定できます。

たとえば担当者が田中ではない売上金額を合計する場合は、次の数式を使います。

=SUMIFS(D2:D5,C2:C5,”<>田中”)

<>は等しくないことを表す比較演算子です。

担当者が未入力の行だけを集計したい場合は、条件を空文字列として指定します。

=SUMIFS(D2:D5,C2:C5,””)

反対に、担当者が入力されている行だけを集計する場合は、”<>”を条件にします。

空白を条件にする場合は空の二重引用符、空白以外は<>を指定します。

数式によって空文字列を返しているセルは、完全な空白セルと扱いが異なる場合があります。

想定と異なるときは、元データに数式が入っていないか、スペースだけが入力されていないかも確認しましょう。

【操作のポイント】除外は<>条件、未入力は空文字列、入力済みは<>だけを条件として使い分けます。

 

複数条件合計で発生しやすいエラー

続いては、複数条件合計で発生しやすいエラーについて確認していきます。

状況 主な原因 確認する内容
結果が0になる 条件不一致 表記、空白、日付形式
VALUEエラー 範囲サイズの不一致 開始行と終了行
合計が少ない 対象範囲不足 追加行を含む範囲

 

結果が0になるケース

SUMIFS関数で結果が0になる場合、数式自体が間違っているとは限りません。

指定したすべての条件に一致するデータが存在しないときも、結果は0になります。

まずは条件セルの内容と、元データの表記が完全に一致しているかを確認しましょう。

たとえば田中の後ろに空白がある、全角と半角が混在している、東京と東京都が混在しているケースです。

見た目が同じ文字列でも、余分なスペースや表記ゆれがあると別の値として判定されます。

日付条件では、日付が文字列として入力されていることも原因になります。

セルを選択したときに数式バーへ日付が正しく表示されるか、表示形式が日付になっているかを確認してください。

条件を1つずつ減らして結果を確かめると、どの条件で対象がなくなっているかを調べやすくなります。

【操作のポイント】結果が0なら、条件を減らして確認し、文字列の空白、表記ゆれ、日付の認識を順に見直します。

 

VALUEエラーになるケース

SUMIFS関数でVALUEエラーが出る代表的な原因は、合計範囲と条件範囲のサイズがそろっていないことです。

たとえば合計範囲がE2:E100であるのに、担当者の条件範囲がB2:B99では、行数が1行違います。

開始セルと終了セルを見比べ、すべての範囲が同じ高さと幅になっているか確認しましょう。

正しい例 =SUMIFS(E2:E100,B2:B100,”田中”,D2:D100,”東京”)

範囲を選択する際に、見出し行を含める範囲と含めない範囲が混在することもあります。

合計範囲と各条件範囲は、必ず同じ開始行と終了行にそろえることが必要です。

データ表をテーブル化し、列名を使った構造化参照にすると、範囲指定のずれを抑えられます。

ただし、既存の数式を修正する場合は、参照方法を混在させないよう注意しましょう。

【操作のポイント】VALUEエラーでは、まず合計範囲とすべての条件範囲の行数が同じかを確認します。

 

集計漏れを防ぐデータ範囲の管理

数式を作成した後に元データへ行を追加すると、SUMIFS関数の参照範囲に新しい行が含まれないことがあります。

たとえばE2:E100と指定した数式では、101行目以降に追加したデータは集計されません。

あらかじめ余裕を持たせた範囲を設定する方法もありますが、データ量が増える表ではExcelテーブルの活用が便利です。

元データを選択し、挿入タブからテーブルを作成すると、追加した行を集計対象に反映しやすくなります。

継続的に追加される一覧はテーブル形式にしておくと、集計漏れを防ぎやすくなります。

また、合計範囲に数値ではなく文字列が入っていると、合計対象として扱われない場合があります。

金額列が左寄せになっている、警告マークが表示されるなどの状態なら、数値へ変換する必要があるかもしれません。

集計表を更新した際は、元データの最終行と数式の範囲を定期的に見比べる習慣を作りましょう。

【操作のポイント】追加されるデータを扱う表では、参照範囲の終端を確認し、テーブル形式の利用も検討します。

 

まとめ エクセルで複数条件の合計を求める方法

エクセルで複数条件の合計を求める場合は、SUMIFS関数を使うのが基本です。

SUMIFS関数では、合計範囲を最初に指定し、条件範囲と条件を組み合わせることで、担当者、地域、商品、日付、数量など複数の条件に一致する数値だけを合計できます。

条件が1つだけの場合はSUMIF関数でも対応できますが、条件を追加する可能性があるならSUMIFS関数を選ぶと拡張しやすいでしょう。

日付や数値の条件では、比較演算子とセル参照を&で連結することが重要です。

文字列の部分一致にはワイルドカードを使えますが、表記ゆれや余計な空白には注意が必要です。

また、結果が0になる場合は条件の一致、VALUEエラーの場合は範囲サイズ、集計漏れの場合は参照範囲を確認しましょう。

SUMIFS関数を使いこなせば、手作業でのフィルターや電卓計算を減らし、条件別の売上集計や経費管理を効率よく進められます。