Excelで売上、数量、点数、作業時間などを集計するとき、0やマイナスの値を除外して、正の数だけを合計したい場面があります。
件数についても、入力済みセルを数えるのではなく、1以上の値だけをカウントしたいケースは少なくありません。
このような条件付き集計には、SUMIF関数とCOUNTIF関数を使う方法が基本です。
正の数だけを合計する数式は SUMIF(範囲,”>0″) です。
正の数だけを数える数式は COUNTIF(範囲,”>0″) です。
1行目に見出しがある表では、通常は2行目から最終行までを集計範囲に指定します。
この記事では、正の数だけを合計する方法、正の数だけをカウントする方法、複数条件への応用、エラーや空白セルの扱いまでを順に解説します。
数式をコピーして使えるよう、具体的なサンプルデータと操作上の注意点も確認していきましょう。
正の数だけを合計するSUMIF関数
| A列 担当者 | B列 差額 | C列 判定 |
|---|---|---|
| 田中 | 120 | 正の数 |
| 佐藤 | -30 | 負の数 |
| 鈴木 | 0 | ゼロ |
| 高橋 | 80 | 正の数 |
それではまず、正の数だけを合計するSUMIF関数について解説していきます。
集計結果を表示したいセルに条件付き合計の数式を入力すれば、マイナス値と0を自動的に除外できます。
基本となる数式の入力

差額がB2からB10に入力されている場合、正の数だけの合計は次の数式で求められます。
=SUMIF(B2:B10,”>0″)
SUMIF関数は、指定した範囲の中から条件に合う数値を探し、その数値だけを合計する関数です。
この例のB2:B10が条件を判定する範囲で、”>0″が0より大きい値だけを対象にする条件です。
B列の120と80は合計対象になり、-30と0は集計から外れます。
結果は200となります。
比較演算子の>は大なりを表し、”>0″のように条件全体をダブルクォーテーションで囲む点が重要です。
条件を囲み忘れると、Excelが数式として正しく解釈できず、エラーや意図しない結果につながることがあります。
合計対象範囲を別列にする指定
条件を判定する列と、実際に合計する列が異なる表では、SUMIF関数の3番目の引数を使います。
たとえばB列に数量、C列に売上金額があり、数量が正の行だけの売上を求める場合を考えます。
=SUMIF(B2:B10,”>0″,C2:C10)
最初のB2:B10は数量が正かどうかを判断する範囲です。
2番目の”>0″は抽出条件で、3番目のC2:C10が実際に合計する売上金額の範囲になります。
条件範囲と合計範囲は、開始行と終了行をそろえることが欠かせません。
条件範囲がB2:B10なのに合計範囲をC3:C11にすると、1行ずれたデータが対応してしまいます。
売上表や在庫表では、見出しのある1行目を含めず、データが始まる2行目から指定すると管理しやすいでしょう。
正の数とゼロを分ける条件設定
正の数だけを集計したい場合は、条件を”>0″にします。
0を含めて0以上を集計したい場合は、”>=0″へ変更します。
一方で、マイナス値だけを合計するなら”<0″、0以下の値を対象にするなら”<=0″を使います。
正の数だけ =SUMIF(B2:B10,”>0″)
0以上 =SUMIF(B2:B10,”>=0″)
負の数だけ =SUMIF(B2:B10,”<0″)
正の数は通常、0を含まない1以上の数として扱われます。
そのため、タイトルどおり正の数だけを合計する目的なら、”>=0″ではなく”>0″を選ぶ必要があります。
【操作のポイント】数式を入力する前に、0を含める集計なのか、0を除外する集計なのかを決めておくと条件の指定ミスを防げます。
正の数だけを数えるCOUNTIF関数
| A列 商品 | B列 在庫増減 | C列 集計対象 |
|---|---|---|
| 商品A | 15 | 数える |
| 商品B | 0 | 数えない |
| 商品C | -8 | 数えない |
| 商品D | 4 | 数える |
続いては、正の数だけを数えるCOUNTIF関数を確認していきます。
合計金額ではなく、プラスの値が入力されたセルの件数を知りたいときに役立つ方法です。
正の数をカウントする基本式

B2からB10の中にある正の数の個数は、次の数式で求めます。
=COUNTIF(B2:B10,”>0″)
COUNTIF関数は、指定範囲の中から条件に一致するセルを数える関数です。
SUMIF関数と同様に、B2:B10が調べる範囲で、”>0″が正の数を選ぶ条件になります。
サンプル表では15と4の2セルが条件に合うため、結果は2です。
COUNTIF関数は数値の合計ではなく、条件に合ったセル数を返す関数です。
正の値の合計が知りたいときにCOUNTIFを使うと件数しか返らないため、目的に応じてSUMIFと使い分けましょう。
空白セルと文字列の扱い
COUNTIF関数で”>0″を条件に指定した場合、空白セルはカウントされません。
文字列として入力された商品名やメモも、通常は正の数として数えられません。
ただし、数値に見える文字列が混在していると、入力状態によっては集計結果の確認が必要になることがあります。
たとえばセルの左上に緑の三角形が表示され、数値が文字列として保存されている場合は注意が必要です。
集計対象の列は数値形式に統一することで、合計とカウントのずれを減らせます。
ホームタブの数値グループで表示形式を確認し、必要ならエラー表示から数値に変換してください。
複数の条件を数えるCOUNTIFS関数
正の数であることに加えて、特定の月や担当者に限定して件数を求める場合はCOUNTIFS関数を使います。
たとえばA列に担当者名、B列に差額があり、田中さんの正の差額だけを数える数式は次のとおりです。
=COUNTIFS(A2:A10,”田中”,B2:B10,”>0″)
COUNTIFS関数では、条件範囲と条件をセットで複数指定できます。
この数式は、A列が田中であり、なおかつB列が0より大きい行だけを数えます。
条件を追加しても、すべての範囲の行数をそろえることが正確な集計につながります。
【操作のポイント】件数を求める式ではCOUNTIF、担当者や日付などの条件を重ねる式ではCOUNTIFSを選ぶと整理しやすくなります。
数式のコピーとオートフィル
| A列 月 | B列 実績 | C列 正の数判定 |
|---|---|---|
| 4月 | 35 | =IF(B2>0,B2,0) |
| 5月 | -12 | 下へコピー |
| 6月 | 48 | 下へコピー |
続いては、正の数を行ごとに判定し、数式をコピーする方法を確認していきます。
元データを残したまま、別列に正の数だけを表示したい場合に便利な手順です。
IF関数で正の数だけを表示する式
B列の数値が正ならその値を表示し、0または負の数なら0を表示するにはIF関数を使います。
=IF(B2>0,B2,0)
この数式は、B2が0より大きいかどうかを判定します。
条件に合う場合はB2の値を返し、合わない場合は0を返す仕組みです。
負の実績を除いた金額を別列で可視化したいときや、後からSUM関数で集計したいときに使えます。
元の値を消さずに判定結果を別列へ出せる点が、SUMIF関数だけで合計する方法との大きな違いです。
相対参照によるオートフィル
C2セルに数式を入力したら、セル右下の小さな四角形であるフィルハンドルを下方向へドラッグします。
するとC3ではB3を参照する数式に変わり、C4ではB4を参照する数式に変わります。
このようにコピー先に応じて参照先が変化する指定を相対参照と呼びます。
データが連続している場合は、フィルハンドルをダブルクリックして最終行まで自動入力することも可能です。
数式を1行目の見出しに入力しないよう、データ開始行である2行目から入力することを意識しましょう。
合計セルの固定参照
各行の値を全体の正の数合計と比較したい場合は、合計セルを絶対参照にします。
たとえばE2に正の数の合計があり、D2で構成比を求めるなら次のように入力します。
=IF(B2>0,B2/$E$2,0)
$記号を付けた$E$2は、数式を下へコピーしても参照先が変わりません。
絶対参照を使わずE2と入力すると、下へコピーしたときにE3、E4へ参照がずれてしまいます。
範囲全体の合計や基準値を固定して使うときは絶対参照と覚えておくと便利です。
【操作のポイント】行ごとの判定にはIF関数、集計にはSUMIF関数を使い分け、コピー時に固定すべきセルだけへ$記号を付けます。

条件付き集計の実務的な応用
| A列 部門 | B列 月 | C列 利益 |
|---|---|---|
| 営業 | 4月 | 250000 |
| 開発 | 4月 | -80000 |
| 営業 | 5月 | 180000 |
続いては、部署、月、売上などの条件を加えた実務的な集計を確認していきます。
SUMIFS関数を使うと、正の数という条件に加え、複数の条件を同時に設定できます。
部門を限定した正の数の合計
A列に部門名、C列に利益が入っている場合、営業部門の正の利益だけを合計する数式は次のとおりです。
=SUMIFS(C2:C10,A2:A10,”営業”,C2:C10,”>0″)
SUMIFS関数の先頭には合計範囲を指定し、その後に条件範囲と条件を順番に指定します。
この例ではC列を合計し、A列が営業で、C列が0より大きいデータだけを対象にしています。
SUMIFS関数では合計範囲を最初に指定する点がSUMIF関数と異なります。
部門別の黒字金額、担当者別の受注金額、店舗別のプラス実績などを集計するときに有効です。
期間を指定した正の数の集計
B列に月、C列に利益がある表なら、4月の正の利益だけを合計することもできます。
=SUMIFS(C2:C10,B2:B10,”4月”,C2:C10,”>0″)
日付が入力されている表では、月名の文字列ではなく開始日と終了日を条件にする方法が実用的です。
たとえば2026年4月分を集計するなら、日付列に対して2026年4月1日以上、2026年5月1日未満という2条件を設定します。
月末日を直接入力するより、翌月1日より小さいという条件にすると、月の日数を意識せずに済みます。
日付条件は開始日以上かつ翌月初日未満にすると、月ごとの集計を安定させやすいでしょう。
Excel画面でのSUMIFS関数入力
ここでは、営業部門の正の利益を集計する数式をF2セルへ入力する流れを確認していきます。
数式バーに入力した内容は、選択中のF2セルにも反映されます。
入力後にEnterキーを押すと、条件に合う250000と180000が合計され、430000と表示されます。
赤い枠で示したセルが結果を表示するセルです。
数式バーを確認すると、セル内で数式が見切れる場合でも、引数や条件を正確に確認できます。
【操作のポイント】SUMIFS関数は合計範囲、条件範囲、条件の順で入力し、条件を増やすごとに範囲と条件を1組ずつ追加します。
集計結果が合わない場合の確認事項
| A列 入力値 | B列 状態 | C列 確認内容 |
|---|---|---|
| 100 | 数値 | 集計対象 |
| “100” | 文字列の可能性 | 形式を確認 |
| #N/A | エラー | 原因を確認 |
続いては、正の数だけを合計またはカウントした結果が想定と合わない場合の確認事項を解説していきます。
数式そのものが正しくても、データの形式や範囲指定が原因で結果に差が出ることがあります。
数値が文字列として保存されている状態
見た目が100でも、セルの内容が文字列になっていると計算に使われないことがあります。
セルを選択したときに左上の緑色の三角形が表示される場合は、数値が文字列として保存されている可能性があります。
警告アイコンから数値に変換を選ぶか、VALUE関数を使って数値へ変換してください。
=VALUE(B2)
VALUE関数は、文字列として保存された数字を計算できる数値へ変換する関数です。
SUMIFで合計されない数字がある場合は、まず数値形式かどうかを確認すると原因を絞り込めます。
条件文字列と比較演算子の入力
条件として”>0″を入力する際は、半角の比較演算子と半角の数字を使います。
ダブルクォーテーションが全角になっていたり、比較演算子を省略したりすると、数式が期待どおりに動作しません。
特に、コピー元から貼り付けた数式には全角記号が混じることがあります。
条件は”>0″のように半角の記号と数字をダブルクォーテーションで囲むことが基本です。
数式バーでカーソルを置き、条件部分だけを確認すると入力ミスを見つけやすくなります。
エラー値を含む範囲の処理
集計範囲に#N/Aや#VALUE!などのエラーが含まれていると、数式の結果がエラーになることがあります。
まずはエラーが発生しているセルを確認し、元の参照式や入力値を修正することが優先です。
どうしてもエラーを0として扱いたい場合は、別列にIFERROR関数で整形した値を作り、その列を集計対象にします。
=IFERROR(B2,0)
この式はB2が正常な数値ならその値を返し、エラーなら0を返します。
エラーを無条件に0へ置き換える前に、なぜエラーになったかを確認することも大切です。
【操作のポイント】集計の不一致は、数式よりも入力形式、エラー値、範囲の開始行と終了行に原因があることが多いため、順に見直します。
まとめ エクセルで正の数だけを合計・カウントする方法
Excelで正の数だけを合計する基本式は、=SUMIF(範囲,”>0″)です。
正の数の件数を求める基本式は、=COUNTIF(範囲,”>0″)になります。
0は正の数に含まれないため、条件には”>=0″ではなく“>0″を指定することが重要です。
担当者、部門、日付などの条件も加えたい場合は、SUMIFS関数やCOUNTIFS関数を活用しましょう。
行ごとに正の数を判定して別列へ表示したい場合は、=IF(B2>0,B2,0)のようにIF関数を使う方法が便利です。
集計結果が合わないときは、数値が文字列になっていないか、条件範囲と合計範囲がずれていないか、エラー値が含まれていないかを確認してください。
正しい関数と条件を使い分ければ、売上、在庫、損益、点数などのデータからプラスの実績だけを素早く把握できるようになります。