複数条件に合うデータを合計する方法(SUMIFS関数)

✓ 動作確認済み(LibreOffice 24.2で計算・2026年10月9日)

サンプルの表で、数式の計算結果が記事の内容と合うことを確かめています。Excel そのものでの確認ではないため、 バージョンや設定によって結果が異なる場合があります。

結論:SUMIFSで条件を並べるだけ

複数の条件をすべて満たす行だけを合計するには、SUMIFS関数を使います。たとえば「担当者が佐藤で、商品がノート」の売上合計は、次の数式で求められます。

=SUMIFS(E2:E9,B2:B9,"佐藤",C2:C9,"ノート")

サンプルの表で計算すると、結果は3200です。

担当者が佐藤で、商品がノートの行(3件)の売上だけが合計されます。J2 セルの数式は =SUMIFS(E2:E9,B2:B9,"佐藤",C2:C9,"ノート")、結果は 3200

サンプルの表

A1から始まる売上表です。G列とH列には、後で使う条件の入力セルを用意しています。

日付 担当者 商品 地域 売上 条件:担当者 条件:商品
2026-10-01 佐藤 ノート 東京 1200 佐藤 ノート
2026-10-02 鈴木 ペン 大阪 800
2026-10-03 佐藤 ペン 東京 600
2026-10-05 田中 ノート 東京 1500
2026-10-08 鈴木 ノート 大阪 2000
2026-10-10 佐藤 ノート 大阪 900
2026-10-12 田中 ペン 東京 700
2026-10-15 佐藤 ノート 東京 1100

手順

  1. 結果を表示したいセル(ここではJ2)を選びます。
  2. 上の数式を入力して Enter を押します。
  3. 条件を変えたいときは、次のように条件をセルから読み込む形にすると、数式を書き換えずに済みます。G2に「佐藤」、H2に「ノート」と入力してあるので、J3に次の数式を入れます。
=SUMIFS(E2:E9,B2:B9,G2,C2:C9,H2)

結果は同じく3200です。G2やH2の文字を変えれば、合計も変わります。

数式の仕組み

SUMIFSの引数は、次の順番で並べます。

  • 1つ目:合計したい範囲(ここでは売上のE2:E9)
  • 2つ目以降:「条件を調べる範囲」と「条件」のペアを、必要な数だけ並べる

ペアは複数指定でき、すべてのペアを同時に満たした行だけが合計されます(AND条件)。サンプルでは、B列が「佐藤」かつC列が「ノート」の行、つまり1200、900、1100が合計されて3200になります。

注意点として、合計範囲と各条件範囲は、同じ行数・列数にそろえる必要があります。

応用

日付の範囲と別の条件を組み合わせる

「以上」「以下」などの比較は、記号を文字列にして、日付と「&」でつなぎます。日付は DATE 関数で作ると、表示形式に左右されず確実です。10/5から10/12までの東京の売上は次のとおりです。

=SUMIFS(E2:E9,A2:A9,">="&DATE(2026,10,5),A2:A9,"<="&DATE(2026,10,12),D2:D9,"東京")

結果は2200です(10/5の1500と10/12の700)。同じ範囲(A2:A9)を2つのペアで使うことで、期間の始まりと終わりを指定しています。

日付が10/5から10/12で、地域が東京の行(2件)だけが合計されます。J4 セルの数式は =SUMIFS(E2:E9,A2:A9,">="&DATE(2026,10,5),A2:A9,"<="&DATE(2026,10,12),D2:D9,"東京")、結果は 2200

「〇〇以外」を指定する

「<>」の後に除外したい値を書きます。ノートのうち、東京以外の売上は次のとおりです。

=SUMIFS(E2:E9,C2:C9,"ノート",D2:D9,"<>東京")

結果は2900です(大阪の2000と900)。

売上の金額そのものを条件にする

合計範囲と同じ列を条件範囲にも使えます。東京で、売上が1000以上の行だけを合計します。

=SUMIFS(E2:E9,E2:E9,">=1000",D2:D9,"東京")

結果は3800です(1200、1500、1100)。600と700は条件に合わないため含まれません。

OR条件(AまたはB)にしたい場合

SUMIFSの複数ペアはすべてAND条件です。同じ列で「佐藤または田中」としたいときは、条件ごとにSUMIFSを作って足します。

=SUMIFS(E2:E9,B2:B9,"佐藤")+SUMIFS(E2:E9,B2:B9,"田中")

結果は6000です(佐藤3800と田中2200)。

よくあるエラーと対処

#VALUE! になる

合計範囲と条件範囲の行数が違うと、#VALUE! エラーになります。次の数式は、売上がE2:E9(8行)なのに、担当者をB2:B8(7行)にしている例です。

=SUMIFS(E2:E9,B2:B8,"佐藤")

サンプルの表で計算すると結果は #VALUE! です。範囲の開始行と終了行をそろえれば解消します。

合計が0になる

条件に合う行がないと、SUMIFSはエラーではなく0を返します。条件に指定した文字と、表の文字が一致しているか(余分なスペースや表記ゆれがないか)を確認してください。

条件の書き方の注意

  • 比較記号(>=、<>など)を使う条件は、ダブルクォーテーションで囲みます。セルの値と組み合わせるときは、">="&DATE(...) のように「&」でつなぎます。
  • 文字の条件は、ダブルクォーテーションで囲むか、セル参照にします。

テンプレートをダウンロード

サンプルの表と数式を入れた Excel ファイルです。開いて数式を確かめたり、ご自身のデータに置き換えたりできます。

テンプレート(.xlsx)をダウンロード

関連する記事

記事一覧に戻る