=SUMIF(A2:A7,"North",C2:C7)は、A列がNorthのすべての行について、C2:C7の売上を合計します。SUMIFは1つの範囲を条件と照らし合わせ、一致した行について別の範囲の値を足します。
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Region | Product | Sales | Region | Total | |
| 2 | North | Apple | 120 | North | 230 | |
| 3 | South | Pear | 45 | South | 245 | |
| 4 | North | Pear | 80 | |||
| 5 | East | Apple | 55 | |||
| 6 | South | Apple | 200 | |||
| 7 | North | Apple | 30 |
F2はNorthの3行の120、80、30を足して230を表示します。F3は地域をE3から取ります。E3をEastに変えると55になります。C列のどの数値を変えても、両方の合計が更新されます。
SUMIF関数の構文
=SUMIF(range, criteria, [sum_range])
range(範囲)は条件と照らし合わせるセルです。criteria(検索条件)は条件です。引用符で囲んだ文字列("North")、比較(">100")、ワイルドカードのパターン("*apple*")、またはセル(E3、演算子付きなら">"&F2)で書きます。sum_range(合計範囲)は足すセルです。省略でき、省略するとSUMIFはrange自体の一致したセルを足します。
rangeとsum_rangeは行ごとに対応するので、同じ行から始まり同じ大きさにしておきます。小数点にカンマを使う言語に設定されたExcelでは、引数をセミコロンで区切ります:=SUMIF(A2:A7;"North";C2:C7)。
SUMIFで以上・以下の値を合計する
ある値より上や下の数値を足すときは、条件と合計が同じ列にあるので、sum_rangeを省略できます。
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Region | Product | Sales | Condition | Total | |
| 2 | North | Apple | 120 | Over 100 | 320 | |
| 3 | South | Pear | 45 | 100 or less | 210 | |
| 4 | North | Pear | 80 | Not North | 300 | |
| 5 | East | Apple | 55 | Limit | 50 | |
| 6 | South | Apple | 200 | Over the limit | 455 | |
| 7 | North | Apple | 30 |
F2は120と200を、F3は残りの4つを足すので、2つを合わせると必ず総合計になります。F4は「等しくない」の例で、North以外のすべてです。F6は基準値をF5から読みます。演算子は引用符の中に書き、セルを&でつなぎます:">"&F5。">F5"とは書きません。
SUMIFで文字列を含むセルを合計する
条件の中の*は任意の数の文字を、?はちょうど1文字を表します。"*apple*"は、名前のどこかにappleを含む商品に、大文字小文字を問わず一致します。
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Product | Sales | Condition | Total | |
| 2 | Apple | 120 | contains apple | 250 | |
| 3 | Pineapple | 45 | exactly Apple | 120 | |
| 4 | Pear | 80 | starts with P | 325 | |
| 5 | Green apple | 55 | word in D6 | 80 | |
| 6 | Plum | 200 | pear | ||
| 7 | Apple cider | 30 |
E2はApple、Pineapple、Green apple、Apple ciderを足します。ワイルドカードのないE3は、ちょうどAppleのセルだけを足します。E5はD6の単語からパターンを作ります。D6をciderに変えると、E5はciderの売上だけを表示します。ほかのパターンや、アスタリスクそのものを表す~はワイルドカードのページにあります。
何かが入っているセルの隣の値を足すには"<>"(空白でない)を使います:=SUMIF(A2:A7,"<>",B2:B7)。""はセルが空の行を足します。
SUMIFで日付を条件にする
日付は数値なので、">="や"<"などが使えます。日付はDATEで作るかセルに入れ、&で演算子につなげます。
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Region | Sales | Date | Condition | Total | |
| 2 | North | 120 | 2026-01-05 | From Feb 1 | 365 | |
| 3 | South | 45 | 2026-01-12 | Cutoff | 2026-03-01 | |
| 4 | North | 80 | 2026-02-03 | Before the cutoff | 300 | |
| 5 | East | 55 | 2026-02-18 | On Jan 12 | 45 | |
| 6 | South | 200 | 2026-03-02 | |||
| 7 | North | 30 | 2026-03-20 |
F2は2月1日以降の4件の注文、80、55、200、30を足して365になります。F4はF3の日付より前の注文を足します。1か月の合計には開始日と終了日、つまり同じ列に2つの条件が必要なので、SUMIFSを使います:=SUMIFS(B2:B7,C2:C7,">="&DATE(2026,2,1),C2:C7,"<"&DATE(2026,3,1))。
別シートの値をSUMIFで合計する
範囲は別のシートにあってもかまいません。範囲の前にシート名と!を書きます。下ではデータがSalesタブに、集計が別のタブにあります。Salesタブをクリックすると、足される行が見られます。
| A | B | |
|---|---|---|
| 1 | Region | Total |
| 2 | North | 230 |
| 3 | South | 245 |
| 4 | East | 55 |
B2はB4まで下にコピーされています。条件のA2はA3、A4へと動き、$は両方の範囲をSalesシートの同じ行に固定します。$がないと、3つ目のコピーはSales!A4:A9を読んで最初の行を取りこぼします。見出しのリストを作り、それぞれの隣にSUMIFを1つずつ置くこの形で、ピボットテーブルを使わずにカテゴリー別の集計が作れます。スペースを含むシート名は引用符で囲みます:'Sales 2026'!$A$2:$A$7。
練習: SUMIF
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Region | Product | Sales | Product | Total | |
| 2 | North | Apple | 120 | Apple | ||
| 3 | South | Pear | 45 | |||
| 4 | North | Pear | 80 | |||
| 5 | East | Apple | 55 | |||
| 6 | South | Apple | 200 | |||
| 7 | North | Plum | 30 | |||
| 8 | West | Apple | 65 |
やってみよう: Appleの行の売上を合計してください。数式はF2に書きます。
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Order | Amount | Condition | Total | |
| 2 | A-101 | 120 | 100 or more | ||
| 3 | A-102 | 45 | |||
| 4 | A-103 | 310 | |||
| 5 | A-104 | 100 | |||
| 6 | A-105 | 85 | |||
| 7 | A-106 | 140 | |||
| 8 | A-107 | 99 |
やってみよう: B2:B8のうち100以上の注文を合計してください。数式はE2に書きます。
SUMIFで複数の条件を指定する
SUMIFが受け取る条件は1つです。よくあるのは次の2つの場合です。
両方の条件を満たす(NorthかつApple)場合はSUMIFSを使います。合計範囲が先に来て、その後に条件の組が続きます。
=SUMIFS(C2:C7,A2:A7,"North",B2:B7,"Apple")
1つの列の値のどちらか(NorthまたはSouth)の場合は、SUMIFに波かっこでリストを渡して2つの結果をSUMするか、SUMIFを2つ足します。
=SUM(SUMIF(A2:A7,{"North","South"},C2:C7))
=SUMIF(A2:A7,"North",C2:C7)+SUMIF(A2:A7,"South",C2:C7)
計算に対する条件(日付の月、売上と価格の積)はSUMIFでは扱えませんが、SUMPRODUCTなら扱えます。
SUMIFが0や間違った合計を返す理由
- 条件が一度も一致しない。 末尾にスペースの付いた「North 」は「North」と等しくありません。
=COUNTIF(A2:A7,"North")で条件を試してください。これが0なら、問題は合計ではなく一致のほうです。 - 合計範囲に文字列として保存された数値がある。 SUMIFはそれを黙って飛ばします。たいていセルの左に寄っていて緑色の三角形が付いています。先に数値に変換してください。
- セルが引用符の中にある。
">F5"はF5という文字列と比べます。">"&F5と書いてください。 - 範囲の大きさが違う。
=SUMIF(A2:A7,"North",C2)はエラーを返しません。Excelはsum_rangeをその最初のセルからrangeと同じ大きさに広げます。それで動きはしますが、合計範囲が違う行から始まっていると間違ったセルを黙って足すので、2つの範囲は必ず同じ行にしてください。 - 範囲が閉じている別のブックにある。 ファイルを開くまで、SUMIFは
#VALUE!を表示します。
よくある質問
ExcelのSUMIFはどう動きますか?
=SUMIF(range, criteria, sum_range)はrangeの各セルを条件と照らし合わせ、一致したらsum_rangeの同じ行のセルを足します。=SUMIF(A2:A7,"North",C2:C7)はNorthの行のC列を合計します。
ある数値より大きい値を合計するには?
合計範囲を省略し、比較を引用符の中に書きます。=SUMIF(C2:C7,">100")はC2:C7のうち100より大きい値をすべて足します。基準値がセルにあるなら=SUMIF(C2:C7,">"&F2)と書きます。
セルが文字列を含むときに合計するには?
文字列をアスタリスクで囲みます。=SUMIF(B2:B7,"*apple*",C2:C7)は、B列がappleを含む行(Apple、Pineapple、Green appleなど)のC列を足します。一致は大文字と小文字を区別しません。
SUMIFで複数の条件を指定するには?
すべての条件を満たす行を合計するならSUMIFSを使います:=SUMIFS(C2:C7,A2:A7,"North",B2:B7,"Apple")。1つの列の2つの値のどちらかなら、リストの結果を合計します:=SUM(SUMIF(A2:A7,{"North","South"},C2:C7))。
SUMIFが0を返すのはなぜですか?
たいていは条件が一度も一致していない(データの末尾にスペースがある、">"&F2ではなく">F2"と書いた)か、合計範囲の数値が文字列として保存されていてSUMIFに飛ばされています。同じ範囲と条件のCOUNTIFで一致を確かめてください。