- ベストアンサー
EXCELのcountif関数での大文字と小文字は区別できるのでしょうか
EXCELのcountif関数での大文字と小文字を別々にカウントする方法をご存知の方がいましたら教えて下さい。 入力値 セルB2 aaa セルC2 aAa =COUNTIF(B2:C2,"aaa")とすると 2 が返ってきます。 aaaのみカウントしてaAaはカウントしないようにしたいのです。 もしかしたらcountifの制限なのでしょうか?そうだとしたら他の方法が思いつきません。ご存知の方みえましたら、教えて下さい。お願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
=SUMPRODUCT((EXACT(B2:C2,"aaa"))*1) とすれば、計算できるでしょう。 また、下は配列数式です。 登録するとき、Ctrl + Shift + Enter とします。 (CtrlキーとShiftキーを押した状態でEnterキーを押します) =SUM(IF(EXACT(B2:C2,"aaa"),1,0))
その他の回答 (2)
- maruru01
- ベストアンサー率51% (1179/2272)
こんにちは。maruru01です。 作業行を1行使用します。 仮に3行目を作業行とすると、B3に、 「=EXACT(B2,"aaa")」 と入力し、C3(必要列)までコピーします。 そして、個数を出したいセルに、 「=COUNTIF(B3:C3,TRUE)」 と入力します。 COUNTIF関数の第1引数の範囲は、作業行の範囲(この場合は3行目)として下さい。 これで、この場合は、1が返ります。 本当は配列数式を使いたいところですが、COUNTIF関数は配列数式で使えないので、作業行を使用する方法にしました。 作業行を作りたくないなら、No.1の方の通り、VBAでユーザー定義関数を自作することになります。
お礼
ありがとうございます。こんなやり方あるんですね。助かりました。
- mneko
- ベストアンサー率33% (46/139)
VBAでセルに入っている文字数をLEN関数で求め、LEFT関数で 左から一文字ずつ、CODE関数で英文字の大文字ですと、「Aが65」 小文字ですと「aが97」ですのでこれで判定してカウントする関数を 作られては如何ですか? なお、VBAで関数を作るのは「Function」で宣言します。
お礼
やはり、VBA関数作るしかないのですね。チャレンジしてみます。 ありがとうございました。
お礼
ありがとうございました!できました。 モジュールを作ろうと思っていましたが関数のみで出来て助かりました。 EXCEL関数は奥が深いですね!