「みんな教えて! 選手権!!」開催のお知らせ

エクセルのcountifについて悩んでおります。

添付画像の式なのですがB3が「ゼロ」となる意味がわかりません。

おそらく【-0060039296[72_10]_0】は文字列で【-900206224】は数値扱いだと思うのですが

多分、数値に対してワイルドカードは使えない??ってことだと思うのですが、
であれば、どういう式を立てればB3に1が出るようになるのか?

教えて頂けないでしょうか?

どうぞよろしくお願いいたします。

「エクセルのcountifのワイルドカード」の質問画像

A 回答 (4件)

こんばんは



ご例示の場合は、対象セルが1セルだけなので、COUNTIF関数を使う意味がありませんね。
一方で、「A3&""」を計算させることで、A3セルが数値の場合でも文字列化することは可能ですが、ご質問の内容からすれば、その必要もなさそうに思われます。

文字列演算を行えば自動的に文字列化してくれますので、「-900」で始まっているかをチェックしたければ、
 =LEFT(A3,4)="-900"
で同等のチェックが可能です。(結果は真偽値になります)

ご例示のように、結果を1または0の表示にしたければ、そのまま数値化して
 =(LEFT(A3,4)="-900")*1
などとすることで可能です。

指定のセル範囲から「-900」始まりのセルの数を数えたいというような場合には、COUNTIFの代わりに、SUMPRODUCT関数で上記の式をセル範囲に対して和を求める形式にすれば、該当するセル数をカウントすることも可能です。
    • good
    • 0

No.3です。


前回回答の説明文に誤りがあました。
「左(頭)から3文字」という説明が複数回登場しますが、数式でお判りのように、「左(頭)から4文字」の誤りでした。
ご迷惑をおかけいたしました。お詫びして訂正いたします。
    • good
    • 0

No.2さんも指摘しておられますが、対象セルが1セルの場合、COUNTIF関数を使う意味が不明です。



対象セルが1セルで、左(頭)から3文字が一致したら1を返したいのであれば、FIND関数またはSEARCH関数を使って、添付画像のような方法はいかがでしょうか?

C列には、=ISNUMBER(FIND(左から3文字,対象セル))*1 という数式を入れています。

この数式は =IFERROR(FIND(左から3文字,対象セル),0)という数式にして、

C2:=IFERROR(FIND("-006",A3),0)
C3:=IFERROR(FIND("-900",A3),0)

としてもよいのではないかと思います。
「エクセルのcountifのワイルドカード」の回答画像3
    • good
    • 0

いろいろ試しましたが、一気にはできませんでした。



譲歩的な回答ですが、

C3  =LEFT(A3,LEN(A3))
B3  =COUNTIF(C3,"-900"&"*")

なら 1 とでます。
    • good
    • 0

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


おすすめ情報