
こんにちは。
COUNTIF関数で質問があります。
以下のようなデータがあります。
A列にデータ、B列にCOUNTIF関数が入っていてその結果を返しているとします。
(いずれも1行目~6行目までにデータが入っています)
(A列) (B列)
<1>りんご 2(=COUNTIF($A$1:$A$6,A1))
<2>みかん 2(=COUNTIF($A$1:$A$6,A2))
パイナップル 1(=COUNTIF($A$1:$A$6,A3))
桃 1(=COUNTIF($A$1:$A$6,A4))
りんご 1(=COUNTIF($A$1:$A$6,A5))
アボカド 1(=COUNTIF($A$1:$A$6,A6))
疑問なのは、厳密に言うと上の条件だとB列は全部1になるのではないかと思ったのに、なぜ1・2行目は2を返してくるのでしょうか、ということです。
<1>や<2>が頭についたものでそのようになっているので、これは何か意味があると思いました。
どのような意味を持つのでしょうか。
また、<1とか<をつけても自分が思っていたような結果が返ってこないので、そもそも上のような例で<がつくとどういうことになるのでしょうか。
大変お手数ですが、よろしくお願いいたします。
No.4ベストアンサー
- 回答日時:
> どうして=を入れるとうまくいくのですか?
> =を入力することで完全に一致するデータをカウントしてくれるようになるのですか?
すでに申し上げているように、バグと思われますので、正確な説明は
そもそも無理があることを予め申し上げておきます。
ですので、以下の説明は私の個人的な「予測」とご理解下さい。
元の式
=COUNTIF($A$1:$A$6,A1)
は、
=COUNTIF($A$1:$A$6,"<1>りんご")
と同じように動作しますね。
これは不等号、< と > が入っているので、Excelは"<1>りんご"を
単なる文字列ではなく、条件式と解釈していると考えられます。
(その解釈の仕方が間違っている点が不具合=バグなわけですが)
それで、その問題となっている不等号の前に、= をつける、つまり
=COUNTIF($A$1:$A$6,"=<1>りんご")
となると、条件式の解釈が「イコールより右側と等しいかどうか」
となるわけです(たぶん)。
つまり「<1>りんご」を条件式ではなく、文字列と見なした動きになって
くれるのです(たぶん)。
ということで、ご納得頂けるでしょうか。
添付画像の例を見て頂ければ、=をつけることで、セル参照が文字列の
扱いに変化する事がご理解頂けるかと思います。

kigoshiさん、再びのコメントをありがとうございます。
添付画像までつけていただいて、本当にありがとうございます。
関数のバグということであくまでもkigoshiさんのご意見ということで理解いたしました。
ありがとうございました。
No.3
- 回答日時:
私もCOUNTIF関数のバグではないかと思います。
回避策の一例として
=COUNTIF($A$1:$A$6,A1)
↓
=COUNTIF($A$1:$A$6,"="&A1)
とする方法があります。
ご参考になれば。
kigoshiさん、コメントありがとうございました。
回避策の一例を試したら、本当にうまくできました!
どうしてですか?
どうして=を入れるとうまくいくのですか?
=を入力することで完全に一致するデータをカウントしてくれるようになるのですか?
お手数ですが、もしよろしければ教えていただけますでしょうか。
No.2
- 回答日時:
COUNTIF関数ではセルに入力されている文字列などの最初に<,>,<>,=,+,-などの演算子と呼ばれる記号が入力されている場合には、セル内のデータを単なる文字列を数えることとは違ってきますね。
お示しのデータの場合にはB1やB2セルの式では演算子で始まるデータがA1セルからA6セルの間で2か所のセルであることから2となっているようですね。
<1の場合には1未満のデータの数を表示しますね。
いずれにしてもCOUNTIF関数で引数としての条件でセルを指定する場合には演算子で始まるセルを指定することは避けることでしょう。
KURUMITOさん、コメントありがとうございました。
<1>のような入力が演算子とみなされてしまうんですね。
気をつけたいところですが、使用しているシステムの仕様上それを排除した状況をつくることができないのでもう一段階処理を加えることになりそうです。
ありがとうございました。
No.1
- 回答日時:
マイクロソフト社に問合せしてください。
=COUNTIF(範囲,検索条件)
検索条件には、等号、不等号を使えるので、EXCEL本体の条件解釈がおかしくなっているようですね。
(例)2未満のセル数 =COUNTIF($A$1:$A$6,"<2")
ちなみに、こちらの環境(Microsoft Excel 2007)でも再現したので。
取りあえず回避するのであれば、等号、不等号以外の記号(例えば、普通のかっこ”()”など)に置き換えてみるのはどうでしょうか。
※昔、新バグを発見するとボールペンが貰えたりしてた。。。
w_HIRO_wさん、コメントありがとうごぁいます。
マイクロソフトに問い合わせするような事例なのですね。
全くそのような発想がありませんでした。
バグの可能性があるのですね。
ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Microsoft Officeを2台目のPCに...
-
office2019 のoutlookは2025年1...
-
Excelで〇のついたものを抽出し...
-
Office2021を別のPCにインスト...
-
マクロ自動コピペ 貼り付ける場...
-
Office2024インストール後の疑問点
-
Windows 11で、IME言語バー(IM...
-
outlookのメールが固まってしま...
-
Office 2021 Professional Plus...
-
大学のレポート A4で1枚レポー...
-
マイクロソフト オフィスのサポ...
-
エクセル:一定間隔で平均値を...
-
別シートの年間行事表をカレン...
-
エクセル 日付順に並べてかえた...
-
Excel 日付を比較したら、同じ...
-
Microsoft Formsの「個人情報や...
-
会社のOutlookにてメールを予約...
-
1つのPCに「Excel 2010」「Exc...
-
Teams内でショートカットって貼...
-
Officeを開くたびの「再起動メ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Microsoft Officeを2台目のPCに...
-
大学のレポート A4で1枚レポー...
-
マイクロソフト オフィスのサポ...
-
Office2021を別のPCにインスト...
-
エクセル 日付順に並べてかえた...
-
outlookのメールが固まってしま...
-
Excelで〇のついたものを抽出し...
-
Microsoft Formsの「個人情報や...
-
マクロ自動コピペ 貼り付ける場...
-
Office2024インストール後の疑問点
-
office2019 のoutlookは2025年1...
-
エクセルで質問です。 ハイパー...
-
エクセル 同じ数字を他の列に自...
-
別シートの年間行事表をカレン...
-
【Excel VBA】PDFを作成して,...
-
Excel 日付を比較したら、同じ...
-
パソコンWindows11 Office2021...
-
Office 2021 Professional Plus...
-
エクセル:一定間隔で平均値を...
-
Teams内でショートカットって貼...
おすすめ情報