業務効率化

COUNTIF関数で在庫・名簿の件数を自動カウントする|該当数も重複も一発で

ExcelMate編集部6分

この記事の要点

  • カテゴリ別の件数や在庫切れの数は、フィルタをかけ直さなくてもCOUNTIF関数ひとつで自動カウントできる
  • 数式は =COUNTIF(範囲, 検索条件)。範囲は絶対参照($)で固定し、条件はセル参照にすると一覧で広げられる
  • 「30以上」など数値の条件は ">=30" のように引用符で囲む。重複チェックは COUNTIF が2以上かで判定できる

「消耗品は何点ある?」「在庫切れはいくつ?」と聞かれるたびに、フィルタをかけ直して件数を数えていませんか。数え直すたびに時間がかかり、フィルタの解除し忘れで別の作業がおかしくなることもあります。

こうした「条件に合う件数を数える」作業は、COUNTIF 関数で自動化できます。一度組んでおけば、在庫リストを更新するだけで件数が自動で変わります。実際の画面で見ていきましょう。

完成イメージ

左の在庫リスト(商品・カテゴリ・在庫数)から、右にカテゴリごとの点数が自動で出ています。消耗品は3点、というように、リストを更新すれば件数も自動で追従します。在庫数が0の商品にも色を付けてあり、在庫切れの把握にも使えます。

COUNTIF関数でカテゴリ別の在庫点数をカウントしたExcel画面。E4セルに =COUNTIF($B$2:$B$7, D4) を入力し、消耗品の点数が3と表示されている
E4 に入力した数式と、その集計結果(消耗品=3点)

数式の意味

E列(点数)に入れているのは、次の数式です。

=COUNTIF($B$2:$B$7, D4)

COUNTIF は「条件に合うセルの個数を数える」関数で、引数は2つだけです。

  1. 範囲($B$2:$B$7)… 数える対象の列。ここでは「カテゴリ」の列
  2. 検索条件(D4)… 数えたい値。ここでは「消耗品」

つまり「B列の中から、D4と同じ『消耗品』がいくつあるかを数える」という指示です。SUMIF が合計を出すのに対し、COUNTIF は件数(個数)を出す、と覚えておくと混同しません。

応用①:数値や「以上・以下」で数える

検索条件には文字だけでなく、比較の条件も書けます。条件は引用符で囲むのがポイントです。

  • 在庫が0の商品の数=COUNTIF($C$2:$C$7, 0)
  • 在庫が30以上の商品の数=COUNTIF($C$2:$C$7, ">=30")
  • 空白でないセルの数=COUNTIF($C$2:$C$7, "<>")

「あるセルの値以上」を数えたいときは、">="&A1 のように演算子とセルを & でつなぎます。

応用②:名簿の重複チェックに使う

COUNTIF は重複の発見にも便利です。名簿の隣の列に次の数式を入れ、結果が 2 以上なら、その値はリスト内に2回以上ある=重複です。

=IF(COUNTIF($A$2:$A$100, A2)>1, "重複", "")

重複した行にだけ「重複」と表示されるので、目視で探すより早く・確実に見つけられます。

つまずきやすいポイントとエラー対処

  • 範囲は絶対参照の「$」で固定する … 一覧で下にコピーすると数える範囲がズレます。範囲($B$2:$B$7)は $ で固定し、条件のセル(D4)は固定しません。F4 キーで素早く付けられます。
  • 件数が合わない … カテゴリ名の表記ゆれ(「消耗品」と「消耗品 」など末尾の空白、全角半角)が原因のことが多いです。文字列が完全一致しているか確認します。
  • 条件を2つにしたい … 「カテゴリが消耗品 かつ 在庫0」のように条件が2つ以上なら、COUNTIFS を使います。

まとめ

COUNTIF を一度組んでおけば、在庫や名簿の件数は「リストを更新するだけ」で自動的に数え直され、在庫切れの把握や重複チェックもボタン操作なしで回ります。私たちが実際にお手伝いしたケースでは、毎週フィルタで数えていた棚卸し前の集計が、ほぼ自動で済むようになった例があります。

「在庫表の形から整えたい」「関数の先に、入出庫の記録から在庫数まで自動で回るしくみを作りたい」という場合は、ExcelMate のチャット相談でそのまま聞いていただけます。

よくある質問

COUNTIF関数の基本の書き方は?
=COUNTIF(範囲, 検索条件) の2つだけです。範囲=数える対象の列、検索条件=数えたい値(セル参照や "消耗品" のような文字、">=30" のような条件)を指定します。
「30以上」「空白でない」など数値や条件で数えたいときは?
比較演算子を引用符で囲んで条件にします。30以上なら ">=30"、0と等しいなら 0、空白でないなら "<>" と書きます。セルの値以上にしたいときは ">="&A1 のように&でつなぎます。
COUNTIFで重複をチェックするには?
=COUNTIF($A$2:$A$100, A2) が2以上なら、その値は2回以上出ている=重複です。IF と組み合わせて =IF(COUNTIF($A$2:$A$100,A2)>1,"重複","") とすると、重複行に印を付けられます。
条件を2つにしたい(カテゴリ別かつ在庫切れ など)ときは?
条件が2つ以上のときはCOUNTIFではなくCOUNTIFS関数を使います。=COUNTIFS(範囲1, 条件1, 範囲2, 条件2) のように、範囲と条件をペアで並べます。

監修・運営者

株式会社KOPS 代表取締役 馬込 浩

馬込 浩株式会社KOPS 代表取締役

業務システムの要件定義〜設計〜実装を一気通貫で手がけ、経営者として自社のバックオフィスも運営。Excel・VBA・Power Query/スプレッドシート自動化の実務経験にもとづき、ExcelMateの記事を監修しています。

運営者情報・監修者プロフィールを見る