SERACH関数もFIND関数も、指定した文字
(検索文字列) が他の文字列内で最初に現れる位置を返します。
=FIND(検索文字,対象,開始位置)
※ 開始位置は省略可(省略すると左端から数える)
=SEARCH(検索文字,対象,開始位置)
※ 開始位置は省略可(省略すると左端から数える)
この2つの違いですが、次のようになっています。
FIND |
SEARCH |
●
大文字と小文字を区別する(Aで検索 → aはヒットしない) ●
ワイルドカードは使えない
※大文字だけの文字列を探す場合などは便利 |
●
大文字と小文字を区別しない(Aで検索 → aもAもヒット) ●
ワイルドカードを使える("?学校"で検索 → 小学校も中学校もヒット)
※ワイルドカードは?(任意の1文字)*(任意の複数文字)を使えます。 |
◎ 補足:Match関数との違いを聞かれることがありますが、Match関数は指定した文字の位置ではなく、セルの位置を返します。
■ 例 ■
mは何番目?
文字 |
FIND |
SEARCH |
My mother |
=FIND("m",A1) →
4 |
=SEARCH("m",A1) →
1 |
小学校か中学校を含むなら【無料】それ以外は【有料】
|
FIND |
SEARCH |
南小学校 |
=IFERROR(IF(FIND("学校",A2),"無料"),"有料") |
=IFERROR(IF(SEARCH("?学校",A2),"無料"),"有料") |
★FIND関数もSEARCH関数も、その文字が最初に現れる位置を返すので「セル内に○○を含む場合…」という条件を作成できます。(含むなら1以上の数値(TRUE)ない場合はエラーが返る)配列数式でも使えるので、覚えておくとよいでしょう。(COUNTIFは配列数式で使えない)
d2.googlesyndication.com/pagead/show_ads.js">
|