今回はCOUNTIF関数を紹介します。
COUNTIF
(カウントイフ)関数を使えば、「特定の条件に合うデータがいくつあるか」を一瞬で数えられます。
- アンケート結果から「男性」の人数を数える
- 在庫リストから「A商品」の数を把握する
- テスト結果から「80点以上」の人数を集計する
こんな作業が、数式一つで完了します。
この記事では、COUNTIF関数の基本的な使い方から、実務で役立つ応用テクニックまで、分かりやすく解説します。
COUNTIF関数の使い方
=COUNTIF(検索範囲, 検索条件)
シンプルですね!
COUNTIF関数が便利なのは、検索条件に文字列と比較演算子の両方と、さらにワイルドカードも使えることです。

たいていのことはできる!
【実践①】文字列を条件にカウントする
まずは、最も基本的な文字列での検索方法を見ていきましょう。
以下の名簿から「男性」の人数をカウントしてみます。
①「=COUNTIF(」と入力します。

②次に検索範囲を指定します。
今回は男性の人数をカウントするとします。
検索範囲の指定のしかたは2つあります。
1つめは、直接「C3:C12」と入力する方法です。
2つめは、マウスで検索範囲をドラッグ&ドロップする方法です。

③検索条件を入力します。
今回は男性が検索条件なので、「”男”」と入力します。
文字列を条件にするときは、”(ダブルクォーテーション)で囲むのを忘れないようにしましょう。

④最後にEnterキーを押すと、カウント結果が表示されます。

【実践②】「~を含む」など曖昧な条件でカウントする(ワイルドカード)
COUNTIF関数は*(アスタリスク)などの「ワイルドカード」が使えます。これを使うと「特定の文字を含む」といった曖昧な条件で検索できて非常に便利です。
たとえば名前に「田を含む」を検索条件にした場合は下図のように「*田*」とします。

ちなみに、「田で始まる」、「田で終わる」などももちろん可能です。
ただし、ワイルドカードは全角だと機能しないので注意してください。

条件 | 意味 |
“*田*” | 「田」という文字を含む |
“田*” | 「田」で始まる |
“*田” | 「田」で終わる |
【実践③】数値の大小を条件にカウントする(比較演算子)
COUNTIF関数は、文字列だけでなく数値の比較も得意です。
「~以上」「~より小さい」といった条件を指定するには「比較演算子」を使います。
身長が180cm以上の人数を求めたいときは、検索条件に「”>=180″」と入力します。比較演算子を使うときも、”(ダブルクォーテーション)で囲むのがポイントです。

入力手順は先ほどと同じです。
主な比較演算子
よく使う比較演算子をまとめました。
演算子 | 意味 | 使用例 | 説明 |
= | 等しい | “=180” | 180と等しい |
> | より大きい | “>180” | 180より大きい(180は含まない) |
< | より小さい | “<180” | 180より小さい(180は含まない) |
>= | 以上 | “>=180” | 180以上(180を含む) |
<= | 以下 | “<=180” | 180以下(180を含む) |
<> | 等しくない | “<>”&C3 | C3セルの値と等しくない |
【応用】COUNTIFでVLOOKUPの「重複エラー」を回避する方法
先の記事で紹介したように、検索対象に重複がある場合は、2個目以降をVLOOKUP関数では取得できません。

上図の場合、2個目以降のAの型番を取得できません。
この弱点をCOUNTIF関数で補うことができます。
手順1. 作業列を追加し、重複データに連番を振る
まず、種類の隣に「番号」という作業列を追加し、ここにCOUNTIF関数を入力します。
数式の意味は「検索範囲の中で、検索条件に合うものが何個目に出てきたか」です。
2行目の数式 =COUNTIF($B$2:B2, B2) は、「$B$2からB2の範囲で、B2(つまり”A”)がいくつあるか」を数えています。
3行目の数式 =COUNTIF($B$2:B3, B3) は、「$B$2からB3の範囲で、B3(つまり”B”)がいくつあるか」を数えています。
起点の$B$2を絶対参照($で固定)にすることで、オートフィルで数式をコピーすれば、自動的に連番を振ることができます。

手順2. 「種類」と「番号」を結合する
次に、VLOOKUPの検索キーとして使うために、「種類」と「番号」を&で結合します。
D2セルに「=B2&C2」と入力し、オートフィルでコピーしましょう。

手順3. VLOOKUP関数でデータを取得する
これで準備完了です。
VLOOKUP関数を使って、B2という範囲に対して、B2を検索します。
当然ですが、カウントは1になります。
重複しないキーで型番を取得できるようになりました。これで重複があるデータでも、全ての値を取り出せます!

2行目以降はB2を起点にして、その行までを範囲に選択します。

同じ行の種類を検索条件にします。


手入力の手間を省くため、参照設定をします。
B2を起点に、かつB列は固定だけど同じ行の数字を入力したいので、「$B2$:$B3」とします。

オートフィルを使うと、ナンバリングができました!

次に種類と番号を文字列結合します。

これもオートフィルを使います。

VLOOKUP関数の検索範囲を修正します。
列を追加したので、検索範囲がズレてしまっているので修正します。
エラーになっていれば分かりやすいのですが、エラーにならないときもあるので、気を付けましょう。
今回はD列とE列さえあればいいので、「D2:E11」に変更します。


分かりやすいようにB列とC列は非表示にしました。もちろん非表示にしなくても問題ないです。
これで重複がある場合でも、それに対応する型番を取得できます。
【発展】複数条件ならCOUNTIFS関数が便利
今回は1つの条件でカウントするCOUNTIF関数を紹介しましたが、「男性で、かつ身長が180cm以上」のように、複数の条件をすべて満たすデータを数えたい場面もよくあります。
そんな時に便利なのがCOUNTIFS関数です。IFにSがついて複数形になっているイメージですね。
基本的な考え方はCOUNTIF関数と同じで、検索範囲と検索条件のセットを必要な分だけ追加していきます。
=COUNTIFS(条件範囲1, 条件1, 条件範囲2, 条件2, …)
Excelの本、本屋さんに行くと棚にずらーっと並んでて、どれが自分に合うのかなんて分からないですよね…。
事務職として5年以上Excelを使ってきた私が、「本当に実務で役立った!」と断言できる3冊を厳選して紹介します。 もう本選びで失敗したくない方は、ぜひ参考にしてみてください。
コメント