FIND/FINDB および SEARCH/SEARCHB 関数の #VALUE! エラーを修正する方法

このトピックは、FIND/FINDB および SEARCH/SEARCHB 関数で発生する #VALUE! エラーの最も一般的なシナリオで役立ちます。

FIND および SEARCH 関数に関する注意事項

  • FIND 関数と SEARCH 関数はよく似ています。 どちらも同じように機能し、あるテキスト文字列内の文字または別のテキスト文字列を検索します。 これら 2 つの関数の違いは、FIND では大文字と小文字が区別されるのに対して、SEARCH では大文字と小文字が区別されないことです。 したがって、テキスト文字列の大文字と小文字が一致する必要がない場合は、SEARCH を使用します。

  • 指定した文字数に基づいて文字列を返す関数が必要な場合は、FIND と共に MID 関数を使用します。 MID と FIND の組み合わせの使用に関する情報と例については、FIND のヘルプ トピックを参照してください。

  • これらの関数の構文 (検索文字列, 対象, [開始位置]) は同じです。 つまり、構文は "何を検索するか, どこで検索するか, どの位置から開始するか" を意味します。

問題: 対象文字列に検索文字列引数の値が見つからない

関数が指定されたテキスト文字列でテキストを見つけられない場合、#VALUE! エラーはスローされます。

たとえば、次のような関数があるとします。

  • =FIND("gloves","Gloves (Youth)",1)

この場合、文字列に "gloves" と一致するものはありませんが、"Gloves" があるため、#VALUE! エラーはスローされます。 繰り返しますが、FIND では大文字と小文字が区別されるため、検索文字列の値が対象引数の文字列で完全に一致するようにしてください。

ただし、以下の SEARCH 関数では、大文字と小文字が区別されないため、1 という値を返します。

  • =SEARCH("gloves","Gloves (Youth)",1)

解決策: 必要に応じて、構文を修正します。

問題:開始位置引数がゼロ (0) に設定される

Start_num引数は省略可能な引数であり、省略した場合、既定値は1と見なされます。 ただし、構文に引数が存在し、値が0に設定されている場合は、#VALUE が表示されます。 エラーが表示されます。

解決策: 必要ない場合は start_num 引数を削除するか、適切な値に設定します。

問題: 開始位置引数が対象引数を上回っている

たとえば、次のような関数があるとします。

  • =FIND("s","Functions and formulas",25)

この場合、25 番目の文字 (開始位置) の "Functions and formulas" 文字列 (対象) の "s" を検索しますが、文字列には 22 文字しかないため、#VALUE! エラーが返されます。

ヒント:  テキスト文字列の文字の合計数を確認するには、LEN 関数を使用します。

解決策: 必要に応じて、開始番号を修正します。

特定の関数について質問がある場合

Excel のコミュニティ フォーラムに質問を投稿してください

Excel の機能を向上させるためのお願い

次のバージョンの Excel の改善に関して、ご提案はございませんか。 提案がありましたら、Excel UserVoice (Excel ユーザー ボイス) のトピックをご覧ください。

関連項目

エラー値 #VALUE! を修正する

FIND/FINDB 関数

SEARCH/SEARCHB 関数

Excel の数式の概要

壊れた数式のエラーを回避する方法

数式のエラーを検出する

すべての Excel 関数 (アルファベット順)

全 Excel 関数 (機能別)

ヘルプを表示

Office のスキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

この情報は役に立ちましたか?

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×