SUMIFS関数の使い方・読み方|複数条件で合計する

執筆者:

カテゴリ:

SUMIFS関数の使い方・読み方のイメージ

集計

SUMIFS関数の使い方・読み方

Excel関数辞典

読み方:SUMIFS は「サムイフス」と読みます。(一般的な読み方です。公式に読み仮名の定めはありません)

SUMIFSは、複数の条件をすべて満たす行だけを合計する関数です。

使える環境Excel○Googleスプレッドシート○
このページの中身(20項目)
  1. 書式
  2. 基本の使い方
  3. 条件の書き方
  4. 日付の期間を指定する
  5. 集計表を作る
  6. OR条件を書きたいとき
  7. よくある失敗
  8. Excelとの違い
  9. 引数の順番を間違えないための考え方
  10. 期間で絞り込む書き方
  11. 集計表を組み立てるときの参照の固定
  12. 「集計」の関数を全体から見る
  13. 数式を書く前の手順
  14. どの関数でも共通する確認
  15. 引き継ぐときに残すこと
  16. このサイトの収録状況
  17. よくある質問
  18. この分野の他の記事
  19. まとめ
  20. 関連する関数

この記事の書式と対応環境の出どころ(2026-08-26 確認)

関数の仕様は追加・変更されることがあります。書式が合わないときは、上の公式ページで最新をご確認ください。

「東京の、商品Aの、4月分の売上」のように条件が重なる集計で使います。SUMIF の複数条件版ですが、引数の順番が逆なので注意が必要です。

SUMIFS関数の使い方の記事構成図
SUMIFS関数の使い方:この記事で扱う内容

書式

=SUMIFS(合計する範囲, 条件範囲1, 条件1, [条件範囲2, 条件2], ...)
引数内容
合計する範囲最初に書く。実際に足す列
条件範囲/条件ペアで並べる。いくつでも追加できる

SUMIF とは順番が逆です。

=SUMIF(条件範囲, 条件, 合計範囲)     ← 合計範囲が最後
=SUMIFS(合計範囲, 条件範囲, 条件)    ← 合計範囲が最初

これが最も多い間違いの原因です。条件が1つでも常にSUMIFSを使う、と決めてしまえば混同しません。後から条件を足すときも書き直しが不要になります。

基本の使い方

ABCD
1日付支店商品売上
22026/4/3東京A1200
32026/4/8大阪A800
42026/5/2東京B1500
52026/5/9東京A950

東京かつ商品Aの売上を合計します。

=SUMIFS(D2:D5, B2:B5, "東京", C2:C5, "A")

結果:2150(1200 + 950)

条件はすべて満たす必要があります(AND条件)。

SUMIFS関数の使い方の要点図
SUMIFS関数の使い方

条件の書き方

SUMIF と同じです。

条件意味
"東京"完全一致
">1000"1000より大きい
">=1000"1000以上
"<>東京"東京以外
"東*"「東」で始まる
"*営業*"「営業」を含む
""空欄
"<>"空欄でない

セルの値と比較するときは & で連結します。

=SUMIFS(D:D, D:D, ">"&G1)

">G1" と書くと文字列の「G1」を探します。 ここが最頻出の間違いです。

日付の期間を指定する

SUMIFSが最も活きるのがこれです。同じ列に2つの条件を付けられます。

=SUMIFS(D:D, A:A, ">="&DATE(2026,4,1), A:A, "<"&DATE(2026,5,1))

「4月1日以上、かつ5月1日未満」=4月分です。

上限は < で翌月1日を指定するのが安全です。<= で4月30日を指定すると、時刻を含むデータ(4月30日 15:00 など)が漏れます。ここは実務でよく起きる漏れです。

セルで期間を指定するなら次の形です。

=SUMIFS(D:D, A:A, ">="&G1, A:A, "<="&G2)

日付を文字列で直接書く(">=2026/4/1")のは避けてください。 環境によって解釈が変わります。DATE() かセル参照を使ってください。

集計表を作る

行に支店、列に月を置いたクロス集計表は、SUMIFSと絶対参照の組み合わせで作れます。

=SUMIFS($D:$D, $B:$B, $F2, $A:$A, ">="&G$1, $A:$A, "<"&EOMONTH(G$1,0)+1)
  • $F2 … 行方向は支店名(列を固定)
  • G$1 … 列方向は月初日(行を固定)
  • EOMONTH で月末を求め、+1して翌月1日にしている

この1本を作って全方向にコピーすれば、集計表が完成します

$ の付け方が肝なので、まず1セルで正しく動くことを確認してからコピーしてください。

OR条件を書きたいとき

SUMIFSの条件はすべて「かつ」で結ばれます。東京かつ四月、という絞り込みはできますが、東京または大阪、という絞り込みは直接は書けません。

実務的な解決策は三つあります。ひとつは、条件ごとにSUMIFSを書いて足す方法です。東京の合計と大阪の合計を足せば済みます。条件が二つ三つなら、これが最も読みやすく、後から見ても何をしているか分かります。

ふたつめは、元データに区分の列を追加する方法です。東京と大阪をまとめて関東圏という区分にしておけば、SUMIFSの条件はひとつで済みます。集計軸が固定されているなら、こちらのほうが保守が楽です。

みっつめは、SUMPRODUCTを使う方法です。条件式を掛け合わせたり足し合わせたりすることで、複雑な条件を一本の数式で書けます。ただし読みにくくなるので、自分以外が触るファイルでは避けたほうが無難です。

なお、同じ列に対して複数の値のいずれかという条件を書きたい場合、配列を使う書き方もあります。条件の部分に複数の値を並べて渡し、全体をSUMで包む形です。慣れれば短く書けますが、環境によって挙動が違うことがあるため、確実性を優先するなら足し算のほうが安全です。

SUMIFSはAND条件専用です。「東京または大阪」を出したいときは、次のいずれかを使います。

1. 足し算する

=SUMIFS(D:D, B:B, "東京") + SUMIFS(D:D, B:B, "大阪")

条件が2〜3個なら、これが最も分かりやすい。

2. 配列で渡してSUMで包む

=SUM(SUMIFS(D:D, B:B, {"東京","大阪"}))

{} の中に候補を並べると、それぞれの結果が配列で返り、SUMで合計されます。候補が多いときはこちらが短いです。

3. 別リストと組み合わせる

候補が可変なら、SUMPRODUCT や QUERY のほうが保守しやすくなります。

=QUERY(A:D, "select sum(D) where B matches '東京|大阪'", 1)

よくある失敗

0になる・合計が合わない

1. 引数の順番が逆

合計する範囲を最後に書いていませんか。SUMIFSは合計範囲が最初です。

2. 範囲の行数がずれている

合計範囲が D2:D100、条件範囲が B2:B50 のように長さが違うとエラーか誤答になります。すべての範囲の開始行と行数を揃えてください。 列全体(D:D、B:B)で統一するのが最も安全です。

3. 余分なスペース・全角半角

"東京 " と "東京" は別物です。"A" と "A" も別物です。

4. 数値が文字列になっている

セルが左寄せなら文字列です。COUNT で確認できます。

5. 日付に時刻が含まれている

<= で月末を指定すると、時刻付きのデータが漏れます。< で翌月1日を指定してください。

#VALUE! が出る

範囲の大きさが揃っていません。すべての範囲を同じ行数にしてください。

Excelとの違い

書式・挙動ともにExcelと同じです。 {} による配列渡しも共通です。

Googleスプレッドシート特有の選択肢として、QUERY があります。条件が複雑になったり、グループ別の集計表を一度に作りたい場合は、SUMIFSを並べるよりQUERYのほうが短く書けます。

=QUERY(A:D, "select B, sum(D) where A >= date '2026-04-01' group by B", 1)

支店ごとの合計が一度に出ます。SUMIFSを支店の数だけ並べる必要がありません。


引数の順番を間違えないための考え方

SUMIFSでつまずく最大の原因は、引数の順番がSUMIFと逆になっていることです。SUMIFは条件範囲を先に書いて合計範囲を後ろに置きますが、SUMIFSは合計範囲を先頭に書きます。この一点だけで結果が変わるため、SUMIFに慣れているほど間違えます。

覚え方としては、SUMIFSは条件をいくつでも足していける構造になっている、と考えると自然に理解できます。条件の数が可変なので、固定である合計範囲を先頭に置くしかありません。二番目以降は、条件範囲と条件をペアで並べていく形になります。ペアで並ぶという構造さえ頭に入れば、条件が三つでも五つでも同じ要領で書けます。

もうひとつ間違えやすいのが、すべての範囲の行数を揃える必要があるという点です。合計範囲を二行目から百行目までにしたなら、条件範囲もすべて二行目から百行目までにします。片方だけ範囲を広げると、対応する行がずれて、まったく違う値が集計されます。エラーにならず数字が返ってくるため、間違いに気づくのが遅れます。数式を書き終えたら、範囲の開始行と終了行がすべて一致しているかを目で確かめる習慣をつけてください。

条件を別のセルから取ってくる場合の書き方も、SUMIFと同じです。比較演算子とセル参照はアンパサンドで連結します。連結せずに並べて書くと、セル番地そのものが文字列として扱われ、該当なしになります。条件を可変にした瞬間に動かなくなるのは、ほぼこれが原因です。


期間で絞り込む書き方

SUMIFSが本領を発揮するのは、日付の期間を条件にするときです。SUMIFでは条件をひとつしか指定できないため、開始日以降の合計から終了日より後の合計を引くという回りくどい書き方をしていました。SUMIFSなら、同じ列に対して二つの条件を指定するだけで期間が絞り込めます。

具体的には、日付の列を条件範囲として二回指定します。一回目は開始日以上という条件、二回目は終了日以下という条件です。同じ範囲を二度書くことになりますが、これが正しい書き方です。範囲を一度しか書かないと、条件がひとつしか効きません。

開始日と終了日は、数式に直接書かずにセルに置いて参照してください。日付を文字列として数式に埋め込むと、環境や地域設定によって解釈が変わることがあります。セルに日付として入力しておけば、内部の数値で比較されるので確実です。集計期間を変えたいときも、セルの値を書き換えるだけで済みます。

月次の集計表を作る場合は、月初日と月末日を別の列に用意しておくと管理が楽になります。月末日はEOMONTH関数で自動的に求められるので、月初日だけ入力すれば済みます。うるう年や月ごとの日数を気にする必要がなくなります。

時刻を含む日付を扱う場合は注意が必要です。終了日を以下という条件で指定すると、その日の零時ちょうどまでしか含まれません。同じ日の午後に発生したデータは対象から外れます。翌日の零時未満という条件にするか、時刻を切り落とした作業列を用意してください。


集計表を組み立てるときの参照の固定

SUMIFSを実務で使う場面のほとんどは、縦横に項目を並べた集計表の作成です。行に商品分類、列に月を並べ、交差するセルに集計値を出す、という形が典型です。

このとき鍵になるのが、参照の固定の仕方です。合計範囲と条件範囲は表全体で共通なので、完全に固定します。一方、条件として参照する見出しのセルは、行や列に応じて動く必要があります。行見出しを参照するなら列だけを固定し、列見出しを参照するなら行だけを固定します。

この使い分けができていれば、左上の一つのセルに数式を書いて、表全体にコピーするだけで集計が完成します。逆に固定を間違えると、右や下にコピーした瞬間にすべてがずれます。数式を書いたら、まず右に一つ、下に一つコピーして、想定どおりの値になっているかを確かめてください。この確認を先にやるだけで、大きな手戻りを防げます。

集計表が完成したら、合計行と合計列を足して、全体の合計が元データの合計と一致するかを確認します。一致しなければ、どこかの条件が漏れているか、範囲がずれています。この検算は数十秒で終わるので、必ずやってください。


「集計」の関数を全体から見る

数値をまとめる関数群です。同じカテゴリの関数は、つまずく場所も似ています。この記事のほかに48本あります。

記事
ABS
AGGREGATE
AVERAGE
AVERAGEIF
AVERAGEIFS
CEILING
CORREL
COUNT
COUNTA
COUNTBLANK
COUNTIF
COUNTIFS
COUNTUNIQUE
FLOOR
GEOMEAN
INT
LARGE
MAX
MAXIFS
MEDIAN
MIN
MINIFS
MOD
MODE
PERCENTILE
POWER
PRODUCT
QUARTILE
QUOTIENT
RAND
RANDBETWEEN
RANK
ROUND
ROUNDDOWN
ROUNDUP
SIGN
SMALL
SPARKLINE
SQRT
STDEV
SUBTOTAL
SUM
SUMIF
SUMPRODUCT
SUMSQ
TRIMMEAN
TRUNC
VAR

このカテゴリで共通するつまずき

空欄と0の扱いが結果を左右します。未入力を0で埋めると平均が下がります。1つで理解した内容は、同じカテゴリの他の関数にもそのまま使えます。

どれを使うかの決め方

条件の数で使う関数が変わります。将来増えるなら複数条件に対応する形にしてください。関数の一覧を眺めて選ぼうとすると、どれも当てはまるように見えて決まりません。

迷ったときは

→ 全関数の一覧 に目的別の索引があります。


数式を書く前の手順

先に決めておけば、書くのは数分で終わります。

1. 出したい結果を一文で書く

「何を、どの条件で、どんな形で出したいか」。この一文が書ければ、関数はほぼ決まります。書けないなら、まだ要件が固まっていません。

2. 元データの型を確認する

空欄と0の扱いが結果を左右します。未入力を0で埋めると平均が下がります。=ISNUMBER(A2) で数値かどうかを確認できます。見た目が同じでも、数値と文字列は別物です。

3. 空欄と0の扱いを決める

未入力なのか、実績が0なのか。表の意味が変わります。どちらとして扱うかを決めてから書いてください。

4. 条件の数を数える

条件の数で使う関数が変わります。将来増えるなら複数条件に対応する形にしてください。将来条件が増える可能性があるなら、最初から複数条件に対応する形にしてください。

5. 共有先の環境を確認する

新しい関数は、古い環境で開くとエラーになります。社外に渡すファイルでは、この一点で選択肢が変わります。

6. 1行だけ書いて確認する

全行にコピーする前に、1行分の結果が正しいかを見てください。間違ったまま広げると、直す手間が増えます。


どの関数でも共通する確認

うまくいかないときに見る場所は、ほぼ決まっています。

参照を固定したか

下方向にコピーする数式では、動いてはいけない参照を固定します。上の数行だけ見て判断しないでください。ずれは下のほうで表面化します。

範囲の行数が揃っているか

複数の範囲を渡す関数では、行数がずれると結果が狂います。エラーにならず値が返るため、気づきにくい種類の間違いです。

型が揃っているか

=ISNUMBER(A2)

数値として入っているかを判定します。システムから書き出したデータでは、これが原因のことが多くあります。

前後に空白が入っていないか

=LEN(A2)&" / "&LEN(TRIM(A2))

数が違えば、余分な空白が入っています。見た目では判別できません。

別の方法で検算したか

同じ数字を別の関数でも出して、突き合わせてください。1つの結果だけを見ても、正しいかどうかは判断できません。

最終行まで確認したか

一番下までスクロールして、結果を見てください。途中から値が変わっていないかを確認します。


引き継ぐときに残すこと

数式は動いていても、意図は残りません。渡す前に、次の点をシート内にメモしてください。3分で終わります。

何を出している数式か

一行で構いません。読めば分かると思っても、数か月後の自分には分かりません。

どの表を参照しているか

参照先のシート名と、更新の担当。別ファイルなら、その場所も書いてください。

該当しないときの扱い

空欄にしているのか、文言を出しているのか、エラーのまま残しているのか。書いていないと、受け取った側は空欄をデータなしと読みます。

触ってはいけない場所

列を挿入すると壊れる数式がある場合、必ず書き残してください。この一行があるだけで、引き継ぎ後の事故が大きく減ります。

使った関数の対応環境

新しい関数を使っている場合、古い環境では開けません。共有の範囲が広がる可能性があるなら、明記してください。

確定した期間は値にする

締めた月の集計は、値貼り付けにしてください。参照元を消しても壊れなくなり、ファイルも軽くなります。

このサイトの収録状況

収録は201本です。カテゴリごとの内訳を出しておきます。

カテゴリ記事数
目的別51本
集計47本 ←この記事
文字列31本
日付19本
検索・参照15本
条件15本
機能12本
配列・抽出10本
関数一覧1本

探し方の順番

関数名が分かっているなら検索窓から。やりたいことだけ決まっているなら「目的別」から。近い関数を比べたいなら、同じカテゴリの一覧から入ってください。

記事の構成

どの記事も、書式・実例・つまずきやすいところ・似た関数との使い分けを同じ順番で並べています。1本読めば、他の記事も同じ場所を探せます。


よくある質問

Q. 数式は合っているのに0が返ります

条件のどれか一つが一致していません。条件を一つずつ外して試すと、どれが原因かが分かります。まず条件を一つだけにして正しい値が返るか確かめ、そこから一つずつ足していく手順が確実です。

Q. 文字列の条件が一致しません

セルの中身に前後の空白が入っている可能性があります。見た目では分からないので、文字数を数えて確かめてください。

Q. 条件はいくつまで書けますか

実用上、困らないだけの数を指定できます。ただし条件が五つを超えるようなら、元データの持ち方を見直したほうが良いことが多いです。

Q. 空白を条件にできますか

ダブルクォートを二つ並べた形で空白を指定できます。空白以外を指定したい場合は、不等号を二つ並べた記号を使います。

Q. 部分一致で集計できますか

ワイルドカードが使えます。ただし文字列に対してのみ有効で、数値には効きません。

Q. 件数を数えたいときは

COUNTIFSを使います。書き方はSUMIFSとほぼ同じで、合計範囲がない分だけ引数が一つ少なくなります。

Q. 平均を出したいときは

AVERAGEIFSがあります。こちらも書き方は同じです。

Q. 集計が重いのですが

範囲を列全体で指定していないか確認してください。実際にデータのある範囲に絞るだけで、かなり改善します。



この分野の他の記事

同じ「集計」の記事です。目的が近いので、こちらで解決しない場合はこちらも見てください。

まとめ

  • 書式は =SUMIFS(合計範囲, 条件範囲1, 条件1, ...)
  • 合計範囲が最初。SUMIF とは逆
  • 条件が1つでもSUMIFSで書くと決めれば混同しない
  • 期間指定は ">="&DATE(...) と "<"&DATE(翌月1日)
  • OR条件は足し算か {} で渡す
  • 範囲の行数は必ず揃える

関連する関数