• ベストアンサー

【excel】複数のセルを対象に特定の文字列

EXCELでセルB24:D31に一つでも文字列Aが入っている場合 あるセルに文字列2を表示させて偽の場合文字列3を表示させたいのですが =IF(B24:D31="","",IF(SUM(COUNTIF(B24:D31,{"*文字列A*","*文字列A*"})),"文字列2","文字列3")) この式ではエラーになってしまい、どうにも作業が進みません。どなたか教えていただけませんでしょうか?

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんにちは! こういったことでしょうか? =IF(COUNTA(B24:D31),IF(COUNTIF(B24:D31,"*文字列A*"),"文字列2","文字列3"),"") 外していたらごめんなさいね。m(_ _)m

nexstyle
質問者

お礼

助かりました!!ありがとうございます!!一番早くお答えいただいたのでベストアンサーにさせていただきました。

その他の回答 (2)

回答No.3

自力で直せないならうろ覚えで適当に式を書くのはやめましょう。 ※以下、各関数の説明はしません。 【=IF(B24:D31="","",IF(SUM(COUNTIF(B24:D31,{"*文字列A*","*文字列A*"})),"文字列2","文字列3"))】 >B24:D31="" B24:D31は「範囲」なので文字列との比較はできない(というか本文にここの分岐について記載が無いんですけど…) COUNTA(B24:D31)>0 にする。 ただし、COUNTAは「数式の結果の空白」はセルには数式が入っているため計上してしまう。 いやなら SUMPRODUCT((LEN(B24:D31)>0)*1) として、セルの中身を判別する。 >SUM(COUNTIF(B24:D31,{"*文字列A*","*文字列A*"})) 言いたいことは分かる。 素直に OR(COUNTIF(B24:D31,"*文字列A*"),COUNTIF(B24:D31,"*文字列A*"))>0 としましょう。

nexstyle
質問者

お礼

詳しい解説ありがとうございました。今回出てきた関数の一つ一つ勉強したいと思います。

  • chonami
  • ベストアンサー率43% (448/1036)
回答No.2

Aは半角と全角があるようなので、 =IF(SUMPRODUCT(ISNUMBER(FIND("文字列A",ASC(B24:D31)))*1),"文字列2","文字列3") 空白処理は適当に付け足してください。

nexstyle
質問者

お礼

最終的にこちらを使用させていただきました。ありがとうございました。

関連するQ&A