ある文字列 (検索文字列) を他の文字列 (対象) 内で検索し、その文字列が他の文字列内で最初に現れる位置を左端から数え、その番号を返します。SEARCH 関数でも他の文字列内の指定した文字列の検索ができますが、FIND 関数では SEARCH 関数と異なり、英字の大文字と小文字を区別できる代わりに、ワイルドカード文字を使用することができません。
書式
FIND(検索文字列, 対象, 開始位置)
検索文字列 検索する文字列を指定します。
対象 検索文字列を含む文字列を指定します。
開始位置 検索を開始する文字を指定します。対象の先頭文字から検索を開始するときは 1 を指定します。開始位置を省略すると、1 を指定したと見なされます。
開始位置に指定した番号まで、文字をスキップすることもできます。たとえば、対象が "AYF0093.YoungMensApparel" という文字列の場合に、文字列の説明部分にある最初の "Y" の位置を検索するには、文字列のシリアル番号部分が検索されないように開始位置を 8 に指定します。8 番目の文字から検索が開始されるので、次の文字が検索文字列となり、9 が返されます。FIND 関数では開始位置が 1 より大きい場合、スキップする文字を数え、常に対象の先頭文字からの位置を数字で返します。
解説
-
検索文字列に空白文字列 ("") を指定した場合、先頭文字と一致したものと見なされ、開始位置に指定した文字番号または 1 が返されます。
-
検索文字列にワイルドカード文字を使うことはできません。
-
検索文字列が対象の中で見つからない場合、エラー値 #VALUE! が返されます。
-
開始位置に 0 以下の整数を指定した場合、エラー値 #VALUE! が返されます。
-
開始位置が対象の文字数よりも大きい場合、エラー値 #VALUE! が返されます。
使用例 1
数式 |
説明 (計算結果) |
=FIND("M","Miriam McGovern") |
文字列で最初に "M" が現れる位置を調べます (1) |
=FIND("m","Miriam McGovern") |
文字列で最初に "m" が現れる位置を調べます (6) |
=FIND("M","Miriam McGovern",3) |
3 番目の文字以降に現れる最初の "M" の位置を調べます (8) |
使用例 2
列 1 |
数式 |
説明 (計算結果) |
セラミック絶縁器 #124-TD45-87 |
=MID([列 1],1,FIND(" #", [列 1],1)-1) |
この文字列のうち、1 文字目から "#" の位置までにある文字列を取り出します (セラミック絶縁器) |
銅線コイル #12-671-6772 |
=MID([列 1],1,FIND(" #", [列 1],1)-1) |
この文字列のうち、1 文字目から "#" の位置までにある文字列を取り出します (銅線コイル) |
可変抵抗器 #116010 |
=MID([列 1],1,FIND(" #", [列 1],1)-1) |
この文字列のうち、1 文字目から "#" の位置までの文字列を取り出します (可変抵抗器) |