=SUMIFS(C2:C7,A2:A7,"North",B2:B7,"Apple")は、A列がNorthでB列がAppleの行について、C2:C7の売上を合計します。足す範囲が最初に来て、その後に条件ごとに範囲と条件の組が1つずつ続きます。
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Region | Product | Sales | Condition | Total | |
| 2 | North | Apple | 120 | North, Apple | 150 | |
| 3 | South | Pear | 45 | North, over 50 | 200 | |
| 4 | North | Pear | 80 | North | 230 | |
| 5 | East | Apple | 55 | |||
| 6 | South | Apple | 200 | |||
| 7 | North | Apple | 30 |
NorthかつAppleの行は120と30の2つなので、F2は150を表示します。F3は売上の列を合計範囲と条件範囲の両方に使っています。Northの行のうち50を超えるものです。F4は条件が1つだけで、SUMIFと同じように動きます。B4をAppleに変えると、F2は80増えます。
SUMIFS関数の構文
=SUMIFS(sum_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...)
sum_range(合計対象範囲)は足すセルで、最初に来ます。SUMIFでは最後です:=SUMIF(A2:A7,"North",C2:C7)。この2つの順番を取り違えるのは、SUMIFSでよくある間違いです。SUMIFをコピーして条件を足すときは、合計範囲を先頭に移してください。- 条件はそれぞれ範囲と条件の組で、127組まで指定できます。条件の書き方はSUMIFと同じです:
"North"、">50"、"*apple*"、"<>"、または演算子につないだセル">="&G2。 - すべての条件を満たす行だけが足されます。
- すべての範囲は同じ大きさでなければならず、そうでないとSUMIFSは
#VALUE!を返します。
SUMIFSは条件が1つでも使えます。最初からその形で書いておけば、後で2つ目の条件を足すときに引数を並べ替えずに済みます。
SUMIFSで期間を指定して合計する
1か月やある期間を合計するには、日付の列を2回使います。1回目は開始日、2回目は終了日です。日付はセルに入れておきます。
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Region | Product | Sales | Date | Setting | Value | |
| 2 | North | Apple | 120 | 2026-01-05 | Start | 2026-02-01 | |
| 3 | South | Pear | 45 | 2026-01-12 | End | 2026-02-28 | |
| 4 | North | Pear | 80 | 2026-02-03 | Total | 135 | |
| 5 | East | Apple | 55 | 2026-02-18 | North only | 80 | |
| 6 | South | Apple | 200 | 2026-03-02 | |||
| 7 | North | Apple | 30 | 2026-03-20 |
2月の注文は80と55の2件なので、G4は135を表示し、G5はNorthの1件だけを残します。G3を2026-03-31に変えると3月も含まれます。日付に時刻が付いていると、"<="&G3は最終日の0:00で止まります。その日の遅い時刻の注文も数えるには、終了の条件に"<"&G3+1を使います。
セルの1つの日付から月全体を合計するには、EOMONTHで月末日を求めます:=SUMIFS(C2:C7,D2:D7,">="&G2,D2:D7,"<="&EOMONTH(G2,0))。
SUMIFSでOR条件を使う
SUMIFSの条件は常にANDで結ばれます。NorthまたはSouthにするには、地域の条件に波かっこでリストを渡します。SUMIFSは項目ごとに合計を1つずつ返し、SUMがそれを足します。
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Region | Product | Sales | Condition | Total | |
| 2 | North | Apple | 120 | North or South | 475 | |
| 3 | South | Pear | 45 | North or South, Apple | 350 | |
| 4 | North | Pear | 80 | Two SUMIFS | 475 | |
| 5 | East | Apple | 55 | |||
| 6 | South | Apple | 200 | |||
| 7 | North | Apple | 30 |
F2とF4はどちらも475で、East以外のすべての行です。F3は地域のORと商品のANDを組み合わせています。リストは1つの条件だけに使ってください。1つのSUMIFSに2つのリストがあると、すべての組み合わせを試すのではなく、項目を位置ごとに組にします。
SUMIFSで空白の条件を使う: 省略できるフィルター
レポートには、読む人が「すべて」の意味で空のままにできるフィルターのセルがよくあります。条件に使った空のセルは「何でも」という意味にはなりません。Excelはそれを0と読むので、文字列の列では何にも一致しません。どんな文字列にも一致するワイルドカード"*"に置き換えます。リストから地域と商品を選ぶか、空にしてみてください。
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Region | Product | Sales | Filter | Value | ||
| 2 | North | Apple | 120 | Region | North | ||
| 3 | South | Pear | 45 | Product | |||
| 4 | North | Pear | 80 | Total | 230 | ||
| 5 | East | Apple | 55 | ||||
| 6 | South | Apple | 200 | ||||
| 7 | North | Apple | 30 |
Northを選んで商品を空にすると、G4はNorthのすべての行を足して230になります。G3でAppleを選ぶと150に下がり、G2を空にするとすべての地域のAppleを足します。"*"は文字列にしか一致しないので、この方法は文字列の列で使えます。数値の列では、">="&minと"<="&maxの範囲を使います。
ある列が空の行や入力済みの行を足すには、条件に""と"<>"を使います。D列に入金日があるなら、=SUMIFS(C2:C7,A2:A7,"North",D2:D7,"")はまだ入金されていないNorthの売上を足します。
練習: SUMIFS
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Region | Product | Sales | Condition | Total | |
| 2 | North | Apple | 120 | South, Apple | ||
| 3 | South | Pear | 45 | |||
| 4 | North | Pear | 80 | |||
| 5 | East | Apple | 55 | |||
| 6 | South | Apple | 200 | |||
| 7 | North | Apple | 30 | |||
| 8 | South | Apple | 75 |
やってみよう: 地域がSouthで商品がAppleの売上を合計してください。数式はF2に書きます。
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Region | Product | Sales | Date | Setting | Value | |
| 2 | North | Apple | 120 | 2026-01-05 | Start | 2026-01-10 | |
| 3 | South | Pear | 45 | 2026-01-12 | End | 2026-03-05 | |
| 4 | North | Pear | 80 | 2026-02-03 | Total | ||
| 5 | East | Apple | 55 | 2026-02-18 | |||
| 6 | South | Apple | 200 | 2026-03-02 | |||
| 7 | North | Apple | 30 | 2026-03-20 | |||
| 8 | North | Plum | 65 | 2026-03-01 |
やってみよう: G2からG3までの日付(両日を含む)のNorthの売上を合計してください。数式はG4に書きます。
SUMIFSとSUMIFとSUMPRODUCTの使い分け
| 必要なこと | 使うもの |
|---|---|
| 条件が1つ | SUMIF(range,criteria,sum_range)、または組が1つのSUMIFS |
| すべてを満たす複数の条件 | SUMIFS(sum_range,range1,criteria1,range2,criteria2) |
| 1つの列の複数の値のどれか | SUM(SUMIFS(sum_range,range,{"a","b"})) |
| 計算に対する条件(日付の月、ある列と別の列の比較、価格と数量の積) | SUMPRODUCT |
| 同じ条件で件数を数える | COUNTIFS |
SUMIFSが0を返すときは、同じ範囲のCOUNTIFSで条件を1つずつ確かめてください。件数が0になる条件が、一度も一致していない条件です。原因はたいてい、末尾のスペース、文字列として保存された数値、引用符の中に書いたセル(">="&G2ではなく">=G2")のどれかです。
よくある質問
SUMIFとSUMIFSの違いは何ですか?
SUMIFは条件が1つで、合計範囲を最後に置きます:=SUMIF(A2:A7,"North",C2:C7)。SUMIFSは条件をいくつでも受け取り、合計範囲を最初に置きます:=SUMIFS(C2:C7,A2:A7,"North",B2:B7,"Apple")。条件が1つなら、どちらも同じ合計になります。
SUMIFSで期間を指定するには?
日付の列を2回使い、開始と終了を指定します。=SUMIFS(C2:C7,D2:D7,">="&G2,D2:D7,"<="&G3)は、G2からG3までの日付の売上を両端を含めて足します。
SUMIFSでOR条件は使えますか?
直接は使えません。条件はANDで結ばれます。1つの条件にリストを渡して結果を合計します。=SUM(SUMIFS(C2:C7,A2:A7,{"North","South"}))はNorthとSouthを合計します。
SUMIFSが#VALUE!を返すのはなぜですか?
合計範囲と条件範囲の大きさがそろっていないからです。たとえばC2:C7とA2:A8です。SUMIFと違ってSUMIFSは範囲を広げてくれないので、すべての範囲の行数と列数を同じにする必要があります。
SUMIFSの条件を省略できるようにするには?
空のフィルターのセルを、どんな文字列にも一致するワイルドカード"*"に置き換えます:=SUMIFS(C2:C7,A2:A7,IF(G2="","*",G2))。G2が空ならすべての地域が含まれます。