• ベストアンサー

EXCELのIF関数で文字列の一部を指定したい

先程、ここで質問して、 A1が「猫」である場合、B1に1と表示させ、 「猫」でない場合は0と表示させる方法は、 IF(A1="猫",1,0) だと教えてもらいました。 これはうまくいったのですが、 今度はA1に「猫犬猿狸」や「猫  狸」や「猫 猿 」や「猫犬  」や「  猿 」等が入っている場合、 とにかく「猫」という文字が入っている場合は全て B1に1と表示させる必要がでてきました。 IF(A1="*猫*",1,0)としてみたのですが、 猫が入っている場合も全て0になってしまいます。 良い方法はありませんでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

if関数を使わない方法で、 =not(iserror(find("猫", A1, 1)))*1 最後の*1をはずずと、"猫"が見つかったらTRUE、見つからなかったら FALSEの論理値が返ってきます。

biwa_nya-su
質問者

お礼

ありがとうございます。 TRUEに1をかけると1になり、 FALSEに1をかけると0になるのは不思議ですが、 きれいにできますね。 これを使わせていただきました。

その他の回答 (2)

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.2

これでは如何? =IF(COUNTIF(A1,"*猫*"),1,0)

biwa_nya-su
質問者

お礼

ありがとうございます。 =IF(COUNTIF(A1,"*猫*")=1,1,0) としたらできました。

  • chiw
  • ベストアンサー率33% (42/126)
回答No.1

とりあえず思いつきで =IF(ISERROR(FIND("猫",A1,1)),0,1)

biwa_nya-su
質問者

お礼

ありがとうございます。 ISERRORという関数を始めて知りました。 勉強になり、役にも立ちました。

関連するQ&A

専門家に質問してみよう