【COUNTIF関数】条件を満たしたデータの数を表示する

【実務で使う】Excel関数
スポンサーリンク

今回はCOUNTIF関数を紹介します。

COUNTIF(カウントイフ)関数を使えば、「特定の条件に合うデータがいくつあるか」を一瞬で数えられます。

  • アンケート結果から「男性」の人数を数える
  • 在庫リストから「A商品」の数を把握する
  • テスト結果から「80点以上」の人数を集計する

こんな作業が、数式一つで完了します。

この記事では、COUNTIF関数の基本的な使い方から、実務で役立つ応用テクニックまで、分かりやすく解説します。

【実務で使う】Excel関数の記事を見る

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を含む)
<>等しくない“<>”&C3C3セルの値と等しくない

  

【応用】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関数の記事を見る


Excelの本、本屋さんに行くと棚にずらーっと並んでて、どれが自分に合うのかなんて分からないですよね…。

事務職として5年以上Excelを使ってきた私が、「本当に実務で役立った!」と断言できる3冊を厳選して紹介します。 もう本選びで失敗したくない方は、ぜひ参考にしてみてください。

この記事を書いた人
ぐー

手取り15万円の会社員でも、年間100万円以上の節約・資産管理・スキルアップで新NISAで年間360万円投資し、iDeCoもフル活用しています。日商簿記3級持っています。

このブログでは、私が実践してきた節約術やリアルな資産運用、稼ぐ力を高めるITスキルについて発信しています。

生活を豊かにしたくて、高配当株投資で年間配当金60万円をめざしています。現在は年間配当金25万円以上達成!

ゲーム・漫画・アニメなどが好きです。
一緒に資産形成をがんばりましょう!
よろしくお願いします!

ぐーをフォローする
【実務で使う】Excel関数ITスキル
スポンサーリンク
ぐーをフォローする

コメント

タイトルとURLをコピーしました