FIND関数とSEARCH関数の違い
この記事は自分用の覚書です。(Excel 2013)
■FIND 関数と SEARCH 関数の機能は同じ。
指定された文字列を他の文字列の中で検索し、その文字列が最初に現れる位置を左端から数え、その番号を返す。
■FIND 関数と SEARCH 関数の違い
- FIND 関数では、大文字と小文字は区別される。
( SEARCH関数では区別がない。) - SEARCH 関数では、ワイルドカードが使える。
( FIND関数では使えない。)
■ FIND 関数の詳細
・ FIND関数の書式
FIND(検索文字列, 対象, [開始位置])
- 検索文字列:必ず指定する。検索する文字列を指定する。
- 対象:必ず指定する。"検索文字列" を含む文字列を指定する。
- 開始位置:省略可能。検索を開始する位置を指定する。
・大文字と小文字は区別される。
・ワイルドカードは使えない。
■ SEARCH関数の詳細
・ SEARCH関数の書式
SEARCH(検索文字列,対象,[開始位置])
- 検索文字列:必ず指定する。検索する文字列を指定する。
- 対象:必ず指定する。"検索文字列" を含む文字列を指定する。
- 開始位置:省略可能。検索を開始する位置を指定する。
・大文字と小文字は区別されない。
・ワイルドカードが使える。
検索文字列には、半角の疑問符 (?) または半角のアスタリスク (*) をワイルドカード文字として使用できる。
疑問符は任意の 1 文字を表す。
アスタリスクは 1 文字以上の任意の文字列を表す。
通常の文字として疑問符やアスタリスクを検索する場合は、前に半角のチルダ (~) を付ける。
・ワイルドカード文字の使用例
xyfgcdehbaic から b をはさんだ3文字を検索したいときは、 b の左右に疑問符を付けて、
=SEARCH("?b?",対象)
とする。(この式では開始位置は省略している)
疑問符 ? は、任意の1文字を表すから、この式では、 xyfgcdehbaic から hba を探していることになり、反ってくる値は h が最初に現れる位置である 8 になる。
この式を、
=SEARCH("*b*",対象)
とすると、反ってくる値は、 1 になる。
アスタリスクは 1 文字以上の任意の文字列を表すので、 "*b*" は b の左右のすべての文字を含んで検索していることになり、結局、 xyfgcdehbaic を探していることになるから。
| 固定リンク
コメント