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) に設定される

開始位置引数は省略可能な引数です。これを省略すると、既定値は 1 と見なされます。ただし、引数が構文に存在し、その値が 0 に設定されている場合は、#VALUE! エラーが表示されます。

解決方法:必要がない場合は開始位置引数を削除するか、正しい値に設定します。

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

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

  • =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 Insider に参加する

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

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

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

×