- ベストアンサー
ExcelのCOUNTIF関数での<1>等の意味
- ExcelのCOUNTIF関数での<1>や<2>の意味について疑問があります。データがA列にあり、B列にCOUNTIF関数が入っていますが、なぜ1・2行目が2を返してくるのか、<1>や<2>がつくとどうなるのか知りたいです。
- COUNTIF関数を使っている場合、<1>や<2>などの記号がデータの前につくと何か意味があるのでしょうか。なぜ1・2行目が2を返してくるのか、<1>や<2>がつくとどうなるのか教えてください。
- ExcelのCOUNTIF関数を使っているのですが、データの前に<1>や<2>がつくとなぜか2を返してくることがあります。これは何か意味があるのでしょうか。また、<1>や<2>などの記号がつくと計算結果に影響があるのか知りたいです。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
> どうして=を入れるとうまくいくのですか? > =を入力することで完全に一致するデータをカウントしてくれるようになるのですか? すでに申し上げているように、バグと思われますので、正確な説明は そもそも無理があることを予め申し上げておきます。 ですので、以下の説明は私の個人的な「予測」とご理解下さい。 元の式 =COUNTIF($A$1:$A$6,A1) は、 =COUNTIF($A$1:$A$6,"<1>りんご") と同じように動作しますね。 これは不等号、< と > が入っているので、Excelは"<1>りんご"を 単なる文字列ではなく、条件式と解釈していると考えられます。 (その解釈の仕方が間違っている点が不具合=バグなわけですが) それで、その問題となっている不等号の前に、= をつける、つまり =COUNTIF($A$1:$A$6,"=<1>りんご") となると、条件式の解釈が「イコールより右側と等しいかどうか」 となるわけです(たぶん)。 つまり「<1>りんご」を条件式ではなく、文字列と見なした動きになって くれるのです(たぶん)。 ということで、ご納得頂けるでしょうか。 添付画像の例を見て頂ければ、=をつけることで、セル参照が文字列の 扱いに変化する事がご理解頂けるかと思います。
その他の回答 (3)
- kigoshi
- ベストアンサー率46% (120/260)
私もCOUNTIF関数のバグではないかと思います。 回避策の一例として =COUNTIF($A$1:$A$6,A1) ↓ =COUNTIF($A$1:$A$6,"="&A1) とする方法があります。 ご参考になれば。
お礼
kigoshiさん、コメントありがとうございました。 回避策の一例を試したら、本当にうまくできました! どうしてですか? どうして=を入れるとうまくいくのですか? =を入力することで完全に一致するデータをカウントしてくれるようになるのですか? お手数ですが、もしよろしければ教えていただけますでしょうか。
- KURUMITO
- ベストアンサー率42% (1835/4283)
COUNTIF関数ではセルに入力されている文字列などの最初に<,>,<>,=,+,-などの演算子と呼ばれる記号が入力されている場合には、セル内のデータを単なる文字列を数えることとは違ってきますね。 お示しのデータの場合にはB1やB2セルの式では演算子で始まるデータがA1セルからA6セルの間で2か所のセルであることから2となっているようですね。 <1の場合には1未満のデータの数を表示しますね。 いずれにしてもCOUNTIF関数で引数としての条件でセルを指定する場合には演算子で始まるセルを指定することは避けることでしょう。
お礼
KURUMITOさん、コメントありがとうございました。 <1>のような入力が演算子とみなされてしまうんですね。 気をつけたいところですが、使用しているシステムの仕様上それを排除した状況をつくることができないのでもう一段階処理を加えることになりそうです。 ありがとうございました。
- w_HIRO_w
- ベストアンサー率47% (9/19)
マイクロソフト社に問合せしてください。 =COUNTIF(範囲,検索条件) 検索条件には、等号、不等号を使えるので、EXCEL本体の条件解釈がおかしくなっているようですね。 (例)2未満のセル数 =COUNTIF($A$1:$A$6,"<2") ちなみに、こちらの環境(Microsoft Excel 2007)でも再現したので。 取りあえず回避するのであれば、等号、不等号以外の記号(例えば、普通のかっこ”()”など)に置き換えてみるのはどうでしょうか。 ※昔、新バグを発見するとボールペンが貰えたりしてた。。。
お礼
w_HIRO_wさん、コメントありがとうごぁいます。 マイクロソフトに問い合わせするような事例なのですね。 全くそのような発想がありませんでした。 バグの可能性があるのですね。 ありがとうございます。
お礼
kigoshiさん、再びのコメントをありがとうございます。 添付画像までつけていただいて、本当にありがとうございます。 関数のバグということであくまでもkigoshiさんのご意見ということで理解いたしました。 ありがとうございました。