ここでは、Microsoft Excel の FIND 関数と FINDB 関数の書式および使用法について説明します。
説明
FIND 関数および FINDB 関数は、指定された文字列を他の文字列の中で検索し、その文字列が最初に現れる位置を左端から数え、その番号を返します。
重要:
-
これらの関数は、一部の言語ではご利用いただけないことがあります。
-
FIND は、1 バイト文字セット (SBCS) を使用する言語での使用を目的としていますが、FINDB は 2 バイト文字セット (DBCS) を使用する言語での使用を目的としています。 コンピューターの既定の言語の設定に応じて、戻り値は次のようになります。
-
FIND 関数では、既定の言語の設定に関係なく、1 バイト文字も 2 バイト文字も、各文字が常に 1 つとして数えられます。
-
FINDB 関数では、DBCS をサポートする言語の編集を有効にした後でその言語を既定の言語として設定した場合に、各 2 バイト文字が 2 つとして数えられます。 それ以外の場合は、各文字は 1 つとして数えられます。
DBCS をサポートする言語には、日本語、簡体字中国語、繁体字中国語、および韓国語があります。
書式
FIND(検索文字列, 対象, [開始位置])
FINDB(検索文字列, 対象, [開始位置])
FIND 関数および FINDB 関数の書式には、次の引数があります。
-
検索文字列 必ず指定します。 検索する文字列を指定します。
-
対象 必ず指定します。 検索文字列を含む文字列を指定します。
-
開始位置 省略可能です。 検索を開始する位置を指定します。 対象の先頭文字から検索を開始するときは 1 を指定します。 開始位置を省略すると、1 を指定したと見なされます。
解説
-
FIND 関数と FINDB 関数では、大文字と小文字は区別され、ワイルドカード文字は使用できません。 大文字と小文字を区別しないで検索する必要がある場合や、ワイルドカード文字を使用する場合は、SEARCH 関数および SEARCHB 関数を使用します。
-
検索文字列に空白文字列 ("") を指定した場合、先頭文字と一致したものと見なされ、開始位置に指定した文字番号または 1 が返されます。
-
検索文字列にワイルドカード文字を使うことはできません。
-
検索文字列が対象の中で見つからない場合、エラー値 #VALUE! が返されます。
-
開始位置に 0 以下の整数を指定した場合、エラー値 #VALUE! が返されます。
-
開始位置が対象の文字数よりも大きい場合、エラー値 #VALUE! が返されます。
-
指定した文字数をスキップするには、start_numを使用します。 例として FIND を使用して、テキスト文字列 "AYF0093 を使用するとします。YoungMensApparel" テキスト文字列の説明部分で最初の "Y" の番号を見つけるには、テキストのシリアル番号部分が検索されないように、start_num 8 に設定します。 FIND は文字 8 で始まり、次の文字でfind_textを検索し、数値 9 を返します。 FIND は常に、within_textの先頭から文字数を返し、start_numが 1 より大きい場合はスキップした文字をカウントします。
使用例
次の表のサンプル データをコピーし、新しい Excel ワークシートのセル A1 に貼り付けます。 数式を選択して、F2 キーを押し、さらに Enter キーを押すと、結果が表示されます。 必要に応じて、列幅を調整してすべてのデータを表示してください。
データ |
||
---|---|---|
Miriam McGovern |
||
数式 |
説明 |
結果 |
=FIND("M",A2) |
セル A2 で最初に "M" が現れる位置を調べます |
1 |
=FIND("m",A2) |
セル A2 の最初の "m" の位置 |
6 |
=FIND("M",A2,3) |
セル A2 の 3 文字目以降で最初に "M" が現れる位置を調べます |
8 |
使用例 2
データ |
||
---|---|---|
セラミック絶縁器 #124-TD45-87 |
||
銅線コイル #12-671-6772 |
||
可変抵抗器 #116010 |
||
数式 |
説明 (計算結果) |
結果 |
=MID(A2,1,FIND(" #",A2,1)-1) |
セル A2 のうち、1 文字目から "#" の位置までにある文字列を取り出します (セラミック絶縁器) |
セラミック絶縁器 |
=MID(A3,1,FIND(" #",A3,1)-1) |
セル A3 のうち、1 文字目から "#" の位置までにある文字列を取り出します (銅線コイル) |
銅線コイル |
=MID(A4,1,FIND(" #",A4,1)-1) |
セル A4 のうち、1 文字目から "#" の位置までの文字列を取り出します (可変抵抗器) |
可変抵抗器 |