• ベストアンサー

任意の文字を含む文字列を置換する(if文にて)

こんにちはtmgmです。 EXCELについての質問です。 今セルA1~A20までに"CELL1"~"CELL20"の文字が入っています。A1=CELL1,A2=CELL2,A3=CELL3のように20まで。 この中からCELL番号に"2"が含まれるものを探し出して隣のセル(B1~B20)にチェックを付けたいです。 私はif文でワイルドカードでも使ってこんな感じで書けばいいのかと思って試しにやってみました。 例えばB1セルに =if(A1="*2*","OK","NG") のように書けばいいのかと思いました。しかしこれでは"*2*"が文字列として認識されてしまい、ワイルドカードとしての機能を果たしてくれません。 どのようにかけば ”任意の文字を含むセルを検索してTRUEの場合、値を返す”というif文(もしくはその他?)ができるでしょうか? 分かる方ご返答宜しく御願いします。

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

  • ベストアンサー
noname#29107
noname#29107
回答No.2

こんな感じでどうでしょう? =IF(ISERROR(FIND("2",A1)),"NG","OK") OK,NGを逆にしたいなら =IF(NOT(ISERROR(FIND("2",A1))),"OK","NG")

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

SEARCH関数でも出来ます。 =IF(ISERROR(SEARCH("2",A1)),"no","yes") "l*1"なんて(ワイルドカード文字)指定も出来ます。

  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.1

文字を検索するFIND関数を利用します。 =FIND("2",A1) =FIND("2",A2) はそれぞれ、 #VALUE! 5 を返しますので、更にISERR関数でエラーか否かを判定し、エラーのあったセルをNG、エラーでないセルをOKとします。 =IF(ISERR(FIND("2",A1)),"NG","OK")

関連するQ&A