COUNTIF関数で「以上」「以下」を指定する
COUNTIF関数で特定の数値以上(あるいは以下)のセル数をカウントする方法を紹介します。「名簿から、レベル3以上の人は〇〇人」とカウントするような場合は本記事を参考にしてください。
※本記事では、COUNTIF関数の基本的な作り方は省略します。COUNTIF関数の基礎から学びたいという方は『COUNTIF関数の使い方』をご参照ください。
COUNTIF関数の検索条件に不等号をそのまま入れると…
エラーになる
「一定の値以上、あるいは以下のセル数をカウントしよう」として、COUNTIF関数の検索条件にそのまま不等式・等式を入力すると、エラーが発生します。
例えば、下記のような名簿とレベルの表から、「レベル3以上の人数を数えようとした場合」で考えてみましょう。

COUNTIFに続いて検索範囲「B2:B11」、そして条件となる「>=3」を入力すると、「トゥルーン」というWindowsがユーザーを小馬鹿にする際の効果音が鳴り、この通りエラーが表示されます。
COUNTIF関数で、検索条件の箇所に不等式・等式をそのまま記入するのは間違いなのです。
=COUNTIF(B2:B11,>=3)
原因は「仕様です!」
IF関数であれば、「IF(B2>=3,真,偽)」のように、不等号・等号を論理式(条件)に使用できます。
しかし、COUNTIF関数を使う際に、「間違った記載例」のように不等号・等号を用いた式を作ってしまうと、エラーとなって関数を処理してくれません。
こうなる原因は、「COUNTIF関数は、検索条件に生の不等式・等式を入れても認識できないから」です。
ただ、そうすると「じゃあ、なぜIF関数は認識できるのか? IF関数と同じように、検索範囲のセルを1つ1つ判定していけばいいじゃないか!」と思われるかもしれません。その意見自体は仰る通りです。技術的には十分可能だと思います。
では、なぜそうなっていないのか。
これ、明確な答えはありません。「作った人が、そういう風に作ったから」としか言えず、「仕様です」としか言えないのです。
解決策は『"』で囲う
ここからは、上記した問題の解決策を紹介します。
実はこの解決策は予想外に簡単です。なんと、不等式・等式を「"」ダブルコーテーションで囲うだけです。
実際にやってみましょう。

さきほどの数式の検索条件部「>=3」を「"」で囲んで「">=3″」としました。この状態でエンターキーを押します。

エラーは発生せずに計算が実行されました。人数も正しくカウントされています。
このように、COUNTIF関数にて、検索条件で不等式・等式を用いる場合は「"」で囲うと、不等式や等式として認識され、その条件に合致するセルが数えられます。
=COUNTIF(B2:B11,">=3″)
以上以下の同時使用はCOUNTIFS関数を使用する
「"」で囲うことで、不等式や等式が認識されるのは、複数条件のCOUNTIFS関数も同様です。
複数条件で「以上」と「以下」を併記することで、「1以上3以下」といった特定数値範囲内の数をカウントできます。
※COUNTIFS関数の基本的な作り方については、こちらの「COUNTIFS関数の作り方」を参考にしてください。
今回は、先ほどと同じ名簿を使って、レベル1以上3以下の人数を数えてみましょう。

上記のように、「=COUNTIFS(」に続けて、検索範囲1と検索条件1、検索範囲2と検索条件2を記述していきます。
検索範囲はB列で変わりませんので、範囲1も範囲2も、「B2:B11」です。検索条件にはそれぞれ、1以上を表す「">=1″」と、3以下を表す「"<=3″」と記入します。ダブルコーテーションを忘れないように。
ここまで入力できたなら、丸括弧を閉じて、エンターキーを押して完成です。

人数が正しく表示されました!
=COUNTIFS(B2:B11,">=1″,B2:B11,"<=3″)
特定の数値以上・以下のセルをカウントする方法は以上です。
全生徒成績表などで、「60点以上70点未満は何人だ?」みたいな場面でも使える技ですから、覚えておくと便利です。
ディスカッション
コメント一覧
まだ、コメントがありません