※本ページにはプロモーション(広告)が含まれています
Excelで文字列の中から特定の文字が何文字目にあるかを検索する関数。大文字と小文字を区別する。見つからない場合はエラーを返す。
詳しい解説
FIND関数は、指定した文字列の中から特定の文字や文字列が最初に現れる位置(何文字目か)を数値で返すExcel関数です。構文は =FIND(検索文字列, 対象, [開始位置]) で、「検索文字列」には探したい文字を、「対象」には検索先のセルや文字列を指定します。「開始位置」は省略可能で、省略すると先頭(1文字目)から検索します。
FIND関数の最大の特徴は、大文字と小文字を区別する点です。たとえば「A」と「a」は別の文字として扱われます。大文字・小文字を区別せずに検索したい場合や、ワイルドカード(*や?)を使いたい場合は、代わりにSEARCH関数を使います。
FIND関数単体ではあまり使われず、多くの場合はLEFT・MID・RIGHT関数と組み合わせて使われます。たとえば =LEFT(A1, FIND("@", A1)-1) とすると、メールアドレスから「@」より前のユーザー名部分だけを取り出せます。MID関数と組み合わせれば、区切り文字の間にある文字列を動的に抽出することも可能です。
検索対象の文字が見つからない場合、FIND関数は #VALUE! エラーを返します。エラーを回避してデフォルト値を表示したい場合は、=IFERROR(FIND("検索文字", A1), 0) のようにIFERROR関数で包むのが定石です。
Excelで文字列を柔軟に操作するうえで、FIND関数はMID・SEARCH・IFERROR関数と合わせて習得しておくべき基本関数のひとつです。
セルA1に「tanaka@example.com」というメールアドレスが入っているとき、=FIND("@", A1) と入力すると「7」が返ります。これは「@」が7文字目にあることを意味します。さらに =LEFT(A1, FIND("@", A1)-1) とすると「tanaka」だけを取り出せます。
別の呼び方
文字検索関数
位置検索
minto.tech スマホ(Android/iPhone)・PC(Mac/Windows)の便利情報をお届け! 月間アクセス160万PV!スマートフォン、タブレット、パソコン、地デジに関する素朴な疑問や、困ったこと、ノウハウ、コツなどが満載のお助け記事サイトはこちら!