COUNTIF関数の値が 0 になってしまう現象について紹介します。
原因
[範囲]と[検索条件]の引数を逆に与えている可能性があります。
現象の確認
下図の表を準備します。
品名 | 価格 |
ぺんぎんクッキー | 180 |
くじらケーキ | 250 |
らくだカステラ | 90 |
あひるタルト | 160 |
カウント対象のリストを別のシートに準備します。
表の項目がカウント対象のリストに含まれるかをCOUNTIF()関数を使って求めたいとします。
表のD2セルに下記の数式を入力します。
=COUNTIF(B2,Sheet2!$B$2:$B$4)
数式を確定します。0 の値が表示されます。カウント対象のリストには「ペンギンクッキー」が含まれているので、1 になることを意図していたのですが、値が違っています。
セルの式をコピーし他のセルにペーストします。すべての値が 0 になっています。
修正方法
上記の例では、[範囲]と[検索条件]の引数を逆に与えているため、引数の順番を逆にします。
先の表のD2セルに以下の数式を記述します。
=COUNTIF(Sheet2!$B$2:$B$4,B2)
数式を確定します。1 の値が表示され、意図した動作になっています。
数式をコピーして他のセルにペーストします。カウント対象のリストに含まれている項目はセルの値が 1 になっています。意図した動作になりました。
補足:最初の項目だけ 1 が表示される原因
カウント対象のリストと表の項目が両方とも一番上にある場合は最初の項目のみ 1 が表示されます。
下図の表を用意します。
品名 | 価格 |
ぺんぎんクッキー | 180 |
くじらケーキ | 250 |
らくだカステラ | 90 |
あひるタルト | 160 |
カウント対象のリストを別のシートに準備します。
表のD2セルに下記の数式を入力します。
=COUNTIF(B2,Sheet2!$B$2:$B$4)
最初の項目は 1 が表示され、意図した動作になっているように見えます。
数式をコピーして他のセルにペーストします。最初の行は 1 ですが、他の行は 0 が表示され、意図した動作とは違ってしまいます。
著者
iPentecの企画・分析担当。口が悪いのでなるべく寡黙でありたいと思っている。が、ついついしゃべってしまい、毎回墓穴を掘っている。
最終更新日: 2024-01-20
作成日: 2017-05-17