• ベストアンサー

エクセルのFIND関数について

エクセルの関数でFINDというのがあります。文字ストリングの中に 指定する文字列があれば、最初から何番目かを返す関数です。 質問は、もし見つからない時は式をいれたセルに「#VALUE!」 と表示されますが、IF文の中で使うような時、何と言う値で聞けば良いのでしょうか。””やNULLやNOTHINGやFALSEや-1でやって見ましたが上手く行きません。 =IF(FIND(”市”、A1、1)=○○、A1、” ”)の○○は何でしょう。(A1セルの文字列に「市」がなければA1を持ってきて、あれば ブランクとする.)

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

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

補足です。 iserror関数は結果としてTRUEかFALSEを返し、if関数の条件式の結果はTRUEまたは FALSEであればいいので、 if(iserror(ほにゃらら)=TRUE,… は冗長です。 今回の場合なら =if(iserror(find("市",A1,1)),A1,"") で充分ですね。

その他の回答 (2)

  • deadline
  • ベストアンサー率63% (1239/1943)
回答No.2

No.#1のdeadlineです。少々、訂正です。(質問を読み違えて、TRUEにするべき所をFALSEにしてしまいました。) =IF(ISERROR(FIND("市",A1,1))=TRUE,A1," ") です。

  • deadline
  • ベストアンサー率63% (1239/1943)
回答No.1

ISERROR関数で、FIND("市",A1,1)の結果を判定してはどうでしょうか? =IF(ISERROR(FIND("市",A1,1))=FALSE,A1," ") ISERROR関数は、 ISERROR(テスト対象) で、テストの対象がエラー値の時にTRUEを返します。

関連するQ&A