Menu

SUMIFS関数の使い方: 複数条件で合計する

=SUMIFS(C2:C7,A2:A7,"North",B2:B7,"Apple")は、地域がNorthで商品がAppleの行についてC2:C7の売上を合計します。期間指定、OR条件、省略できる条件を、動くシートで学びます。

このページのシートはすべて実際に動きます。数値や数式を変えると再計算されます。

=SUMIFS(C2:C7,A2:A7,"North",B2:B7,"Apple")は、A列がNorthでB列がAppleの行について、C2:C7の売上を合計します。足す範囲が最初に来て、その後に条件ごとに範囲と条件の組が1つずつ続きます。

NorthのApple
F2
ABCDEF
1RegionProductSalesConditionTotal
2NorthApple120North, Apple150
3SouthPear45North, over 50200
4NorthPear80North230
5EastApple55
6SouthApple200
7NorthApple30
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

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回目は終了日です。日付はセルに入れておきます。

2つの日付の間の売上
G4
ABCDEFG
1RegionProductSalesDateSettingValue
2NorthApple1202026-01-05Start2026-02-01
3SouthPear452026-01-12End2026-02-28
4NorthPear802026-02-03Total135
5EastApple552026-02-18North only80
6SouthApple2002026-03-02
7NorthApple302026-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がそれを足します。

NorthまたはSouth
F2
ABCDEF
1RegionProductSalesConditionTotal
2NorthApple120North or South475
3SouthPear45North or South, Apple350
4NorthPear80Two SUMIFS475
5EastApple55
6SouthApple200
7NorthApple30
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

F2とF4はどちらも475で、East以外のすべての行です。F3は地域のORと商品のANDを組み合わせています。リストは1つの条件だけに使ってください。1つのSUMIFSに2つのリストがあると、すべての組み合わせを試すのではなく、項目を位置ごとに組にします。

SUMIFSで空白の条件を使う: 省略できるフィルター

レポートには、読む人が「すべて」の意味で空のままにできるフィルターのセルがよくあります。条件に使った空のセルは「何でも」という意味にはなりません。Excelはそれを0と読むので、文字列の列では何にも一致しません。どんな文字列にも一致するワイルドカード"*"に置き換えます。リストから地域と商品を選ぶか、空にしてみてください。

省略できるフィルター
G4
ABCDEFG
1RegionProductSalesFilterValue
2NorthApple120RegionNorth
3SouthPear45Product
4NorthPear80Total230
5EastApple55
6SouthApple200
7NorthApple30
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

Northを選んで商品を空にすると、G4はNorthのすべての行を足して230になります。G3でAppleを選ぶと150に下がり、G2を空にするとすべての地域のAppleを足します。"*"は文字列にしか一致しないので、この方法は文字列の列で使えます。数値の列では、">="&minと"<="&maxの範囲を使います。

ある列が空の行や入力済みの行を足すには、条件に""と"<>"を使います。D列に入金日があるなら、=SUMIFS(C2:C7,A2:A7,"North",D2:D7,"")はまだ入金されていないNorthの売上を足します。

練習: SUMIFS

やってみよう: SouthのApple
F2
ABCDEF
1RegionProductSalesConditionTotal
2NorthApple120South, Apple
3SouthPear45
4NorthPear80
5EastApple55
6SouthApple200
7NorthApple30
8SouthApple75
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

やってみよう: 地域がSouthで商品がAppleの売上を合計してください。数式はF2に書きます。

やってみよう: 期間内のNorthの売上
G4
ABCDEFG
1RegionProductSalesDateSettingValue
2NorthApple1202026-01-05Start2026-01-10
3SouthPear452026-01-12End2026-03-05
4NorthPear802026-02-03Total
5EastApple552026-02-18
6SouthApple2002026-03-02
7NorthApple302026-03-20
8NorthPlum652026-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が空ならすべての地域が含まれます。

Coddyのプログラミング言語のイラスト

Coddyでコードを学ぼう

始める