プロが教える店舗&オフィスのセキュリティ対策術

こんにちは。
Excel 2007を使っています。

表中、A列に以下のような文字列があります。
DOG
house
HOUSE
dog
housing
HOUSING
dog
DOG


たとえばcountif関数でdogの個数を数える時は
=countif(A1:A100,"dog")
のようにしますが
dogとDOG両方を数えたいときにはどのように
どのようにしたらよいでしょうか?

お分かりの方お教えください。
よろしくお願いいたします。

A 回答 (7件)

 Excelは大文字と小文字を区別しませんから、そのまま



=COUNTIF(A1:A100,"dog")

或いは

=COUNTIF(A1:A100,"DOG")

として下さい。
 逆に大文字と小文字を区別してカウントさせる方が難しいです。
    • good
    • 0

=COUNTIF(A1:A100,"dog")


によって、dogとDOGを両方とも数えられます。
もう一度データをよく見直し、計算してみて下さい。



#参考
ご質問で例示されている大文字と小文字ではなく、実は全角文字と半角文字を一緒にして数えたかったのなら、
=SUMPRODUCT(1*(ASC(A1:A100)="dog"))
のようにする手もあります。
この場合でも同様に大文字と小文字は区別されません。
    • good
    • 0

まんま、そのまんま、、、


試してみた??

この回答への補足

ご回答ありがとうございます。
Windows では大文字小文字を区別しなかったのですね

補足日時:2012/12/09 20:44
    • good
    • 0

 もし、半角文字の「dog」や「DOG」と全角文字の「dog」や「DOG」を合わせてカウントする場合には、



=COUNTIF(A1:A100,"dog")+COUNTIF(A1:A100,"dog")

とする方が、SUMPRODUCT関数を使うよりも計算に要する負荷が少なく済むため、実用的です。

この回答への補足

ご回答ありがとうございます

SUMPRODUCTを使うより軽くていいですね

補足日時:2012/12/09 20:45
    • good
    • 0

大文字と小文字を区別しない場合については、既に皆さんから回答されているので、ベストアンサーは辞退します。



次式は一応、大文字と小文字を区別します。ご参考まで。なおワイルドカード(「*」など)が数式中に用いられていませんが、「doggie」などの「dog」を「含む」データも数えます。

=sumproduct(isnumber(1*find("dog",a1:a100)))

完全一致のみの個数とするなら、例えば次式です。なお「3」というのは、「dog」の文字数が 3 という意味です。

=sumproduct(isnumber(1*find("dog",a1:a100))*(len(a1:a100)=3))
    • good
    • 0

No.5 です。

ごめんなさい、ちょっと初心者みたいなミスしました。No.5 の 1 本目の数式に、「1*」をもう 1 つ付けてください。 2 本目はそのままで大丈夫です。

=sumproduct(1*isnumber(1*find("dog",a1:a100)))
    • good
    • 1
この回答へのお礼

ご回答ありがとうございます。

お礼日時:2012/12/09 20:47

=countif(A1:A100,"dog")


の式ではdog の場合は勿論、DOGの場合でも数えられますので、dogとDOGを区別することなく数えられますね。
ご質問はお示しの式で対応できます。
それとは別にDOGとdogの数を区別して数えるのでしたら次のような式になります。

DOGの数は

=SUMPRODUCT((A1:INDIRECT("A"&MATCH("ー",A:A))="dog")*(CODE(A1:INDIRECT("A"&MATCH("ー",A:A)))=<90)*1)

この式でMATCH関数の中のーは一旦式を確定した後でひらがな入力モードでーを入力するようにします。半角の-ではいけません。

dogの数は

=SUMPRODUCT((A1:INDIRECT("A"&MATCH("ー",A:A))="dog")*(CODE(A1:INDIRECT("A"&MATCH("ー",A:A)))>90)*1)
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!