Q&A

回答の並べ替え:
投稿新規に質問を投稿する

セルに特定の文字列が含まれているかをチェックする方法

rider rider

2023-10-24 17:16

お世話になっております。

セルに特定の文字列(例:テキスト)が含まれているかをチェックするために、以下の関数で試してみたところ、Excelではうまくいくのですが、CELFだと特定の文字列が無い場合に#VALUE!と表示されてしまいうまくいきません。(1枚目の画像を参照ください)

関数:=IF(ISNUMBER(FIND("テキスト", A1)), "有り", "無し")

無い場合は”無し”と表示させたいのですがどうすればよいのでしょうか。

よろしくお願いいたします。

rider rider
日本コンピュータシステム(CELFチーム)さま
Yexiongmaoさま

 早々に回答いただきありがとうございます。

 CELFとExcelでは関数の仕様に違いがあるのですね。勉強になりました。

 今回はYexiongmaoさまに教えていただいた
  =IF(ISERROR(FIND("テキスト", A1)), "無し", "有り")
 の方法がシンプルなのでこれで進めようと思います。

日本コンピュータシステム(CELFチーム)さま
 ベストアンサーにできず申し訳ありませんが、とても勉強になりました。ありがとうございます。
Yexiongmao Yexiongmao
メダルベストアンサー
こんにちは。

=IF(ISNUMBER(FIND("テキスト", A1)), "有り", "無し")
=IF(ISERROR(FIND("テキスト", A1)), "無し", "有り")

FINDは数値または#VALUEを返すので、数値の判定ではなく、ERRORの判定を使えばシンプルになります。
日本コンピュータシステム(CELFチーム) 日本コンピュータシステム(CELFチーム) パートナー
こんにちは
以下の式を試されてはいかがでしょうか。

=IF(ISNUMBER(IFERROR(FIND("テキスト", A1),"A")), "有り", "無し")

CELFではISNUMBER関数に#VALUE!を入れた場合、結果がfalseかtrueで
返ってこないようです。

その為、FIND関数で対象の文字列が見つからなかった場合にIFERRORを利用して
エラーになった場合の戻り値を「A」に変更しています。

 ①FINDで文字列が見つからない
 ②FINDでエラーとなったのでIFERRORでエラー時の結果を「A」とする。
 ③ISNUMBERには「A」が渡されるので数値でないためfalseと判定
 ④IF分岐でfalseの為、”無し”と判定。
メールコンタクトをとる