エクセル

【エクセル】COUNTIF関数でうまくいかない(0になる等)場合の対処法【エラーになる/反映されない等】

当サイトでは記事内に広告を含みます

この記事では、エクセルCOUNTIF関数(COUNTIFS関数)を使用した際に正しくカウントされない場合の原因と解決策について解説していきます。

原因として、以下の状況が考えられます。

1. 文字列」や「日付」を入力する方法に誤りがある
2. セル参照する方法に誤りがある
3. 比較演算子の使い方に誤りがある
4. 全角半角が違う

COUNTIFS関数でエラーになる場合も、基本的にはCOUNTIF関数と同じ原因であることが多いです。

今回はれらの対処法をいくつか紹介します。

目次

検索条件に「文字列」や「日付」を入力する方法に誤りがある場合

COUNTIF関数で正しくカウントされない(できない)原因は、検索条件の入力方法が誤っている場合がほとんどです。

まずはCOUNTIF関数の使用方法を確認しましょう。

=COUNTIF(範囲,検索条件)

「範囲」には検索したい範囲を、「検索条件にはカウントしたい条件を記載します。

まずは正しい計算式を紹介します。

例えば上記の表の中から「唐揚げ定食」を検索する場合、D4セルにこのように入力します。

=COUNTIF($B$2:$B$13,“唐揚げ定食”)

「範囲」の指定の際、基本的には絶対参照にしておくことをオススメします。

絶対参照にするには、上記のように固定したいセルに「$付けます。F4キーを押すと自動的に入力されます。

このように、結果はきちんと「3」と表示されました。

この際に間違えやすいのが、「検索条件」の入力方法です。

=COUNTIF($B$2:$B$13,唐揚げ定食)

上記のように、検索条件に文字列を指定する際に「“”」(ダブルクォーテーション)で囲うのを忘れがちです。

ダブルクォーテーションを忘れると、結果は「0」になりました。

特にややこしいのは、検索条件に「日付」を指定する場合です。

上記の表の中に4/9のデータがあるかどうかカウントしてみましょう。

検索範囲をA列に変更し、検索条件には表の表記通り2023/4/9」と指定してみます。

しかし結果は「0」になりました。

なぜかと言うと、実際には「2023/4/9」と入っているように見えるデータも、実際は下記のような数字のデータとして保存されているからです。

4/9の「セルの書式設定」を「標準」に変更してみると、5桁の数字で保存されていることがわかります。

また、「””」で囲わずに「2023/4/9」を入力した場合、「2023÷4÷9」と解釈されてしまいます。

検索条件に日付を指定する場合も“”(ダブルクォーテーション)で囲う必要があります。

=COUNTIF($A$2:$A$13,”2023/4/9″)

D4セルの式をこのように変更すると、結果はきちんと「1」になりました。

以上、COUNTIF関数(COUNTIFS関数)で正しくカウントされない場合の原因として、「文字列」や「日付」を入力する方法に誤りがある場合を紹介しました

 

検索条件を「セル参照」にする方法に誤りがある場合

検索条件を直接入力する方法は、上記のように間違えが起こりやすいです。

そのため、COUNTIF関数を使用する際の検索条件は、セルを参照する形にすることをオススメします。

しかしこの「セル参照」も、入力方法を誤ってしまうと正しい結果が表示されなくなってしまいます。

実際の例を見てみましょう。

先程の表を編集して、各定食が何回ずつ登場したかを表にしてみます。

やり方は先程と同様です。

検索条件に「唐揚げ定食」と直接入力していたところを、セル番地を参照する形にします。

=COUNTIF($B$2:$B$13,“D3”)

しかし、結果は0になりました。

先程とは逆で、セル参照をする際には「””」(ダブルクォーテーション)で囲う必要はありません。

=COUNTIF($B$2:$B$13,D3)

“”」で囲わずにセル番地を入力したところ、結果はきちんと「3」と表示されました。

以上、COUNTIF関数(COUNTIFS関数)で正しくカウントされない場合の原因として、「セル参照」にする方法に誤りがある場合を紹介しました

比較演算子の使い方に誤りがある場合

今度は、メニューを価格によって絞り込んでみます。

定食それぞれの価格を、日替わりの表に反映したものです。

この中から「450円以上」のメニューが何回登場するかを計算してみます。

J3セルに入力する式を考えてみましょう。

~以上や~以下などの条件式には、「比較演算子」を使用します。

例えば比較演算子を用いて「450以上の数字」を表す式は、「>=450となります。

これが「450以下の数字」の場合は「<=450」です。

「450である」場合は「=450」、「450ではない」場合は「<>450」です。

また、「以上」ではなく「450よりも上」なら「>450」です(450は含まず、451以上のみカウントする場合など)。

この比較演算子の書き方自体を間違えてしまうことも多いです。

<=450」を「=<450」としてしまったり、「450<=」としてしまったりする例が挙げられます。

上記の表はH列のセルに価格の数値だけを入力しているため、数字を直接入力するのではなく、セル参照で比較演算子を使用してみましょう。

数字の場合「>=450」でしたが、セル参照の場合は「>=H3」と指定します。

この比較演算子の四季を、COUNTIF関数の「検索条件」に指定してみましょう

=COUNTIF($F$2:$F$13, >=H3)

「範囲」にはF列の価格を指定します。