【エクセル】文字列検索で#VALUEになるとき

Last Updated on 2022年2月23日 by らくろぐ

エクセルで文字列検索する関数は FIND/FINDBやSERCH/SERCHB がありますが、検索結果がエラーになることがありました。簡単な式で、文字列も一致しているのになぜかエラーになったのでその時のことをメモに残します。

Excelで文字列検索するには

  • FIND(検索文字列, 対象, [開始位置]) 
    例:FIND(“Test”,B1) TestがB1から何文字目にでてくるか?
  • FINDB(検索文字列, 対象, [開始位置]) 
    例:FINDB(“Test”,B1) TestがB1から何バイト目にでてくるか? 
  • SEARCH(検索文字列,対象,[開始位置]) 例:FIND(“Test”,B1)
    例:SEARCH(“Test”,B1) Test/test/TEATがB1から何文字目にでてくるか?
  • SEARCHB(検索文字列,対象,[開始位置]) 例:FIND(“Test”,B1)
    例:SEARCHB(“Test”,B1) Test/test/TEATがB1から何バイト目にでてくるか?

エラーになった

下の式は見た目は同じですが片方はエラー#VALUEになっています。

H列はG列の式の中身です。同じ式でもG4セルの結果が#VALUEになっています。

#VALUEが出る原因

#VALUEは
 指定した文字列が見つからない場合、
 検索位置が文字列より多い場合(検索位置は第三引数で設定できる)
が要因です。

この場合は”文字列がみつからない”という理由以外考えられないのですが、文字列としては同じに見えるのに、なぜ?という状態です。

原因:後ろにスペースが入っていた

もともと、この現象にあたったときのデータが、資料からコピペしたものを条件として使っていたため、後ろに半角スペースが入っていたのが原因でした。
例だと 
 D3セルは ”東京”ですが
 D4セルは ”東京 ”になっていたためです。
そのため文章の中に一致する箇所がなかったのでエラーとなっていました。

こんな簡単な事なのに、結構はまってしまいました。。