「消耗品は何点ある?」「在庫切れはいくつ?」と聞かれるたびに、フィルタをかけ直して件数を数えていませんか。数え直すたびに時間がかかり、フィルタの解除し忘れで別の作業がおかしくなることもあります。
こうした「条件に合う件数を数える」作業は、COUNTIF 関数で自動化できます。一度組んでおけば、在庫リストを更新するだけで件数が自動で変わります。実際の画面で見ていきましょう。
完成イメージ
左の在庫リスト(商品・カテゴリ・在庫数)から、右にカテゴリごとの点数が自動で出ています。消耗品は3点、というように、リストを更新すれば件数も自動で追従します。在庫数が0の商品にも色を付けてあり、在庫切れの把握にも使えます。
数式の意味
E列(点数)に入れているのは、次の数式です。
=COUNTIF($B$2:$B$7, D4)
COUNTIF は「条件に合うセルの個数を数える」関数で、引数は2つだけです。
- 範囲($B$2:$B$7)… 数える対象の列。ここでは「カテゴリ」の列
- 検索条件(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 のチャット相談でそのまま聞いていただけます。

