教えて!HELPDESK      Excel     Word      Outlook      Power Point      Windows

 

 

Excel2010-2016:SEARCH関数とFIND関数の違い

   

 

 


 

 

 

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は配列数式で使えない)

 

 

 

 

 

教えて!HELPDESK      Excel     Word      Outlook      Power Point      Windows