Excel

【Excel】エクセルのfind関数とsearch関数の違い【ワイルドカード・大文字小文字など】

この記事では「エクセルのfind関数とsearch関数の違い」について解説していきます。

find関数もsearch関数も文字列の検索に使うものの、違いは

・大文字と小文字を区別して検索可能:find関数のみ

・ワイルドカードを使って検索可能:search関数のみ

です。

実際のサンプルを用いて詳細を見ていきましょう。

なお、FIND関数の使い方の詳細(構成、引数、具体例など)はこちらで解説していますので、併せて確認してみてくださいね♪

 

エクセルのfind関数とsearch関数の違い【大文字と小文字検索の可否】

上述のようfind関数とsearch関数の違いとして「大文字と小文字を区別できるかどうか」が挙げられます。

大文字と小文字を区別して検索可能なのは、find関数のみです。

以下のよう検索対象の文字列に、大文字と小文字が混合されているパターンにて、違いをチェックしましょう。

ここでは「対象」(B2セル)に「ABCdEFGHI」と入力します。

すると、find関数の場合は「VALUE」エラーが表示されます。

一方で、search関数の場合は「4」と正しい数値が表示されます。

 

find関数は、大文字と小文字を分けて検索をかけます。「対象」の文字列に「D」の値が無いため、エラーが表示されるわけです。

このまま、「対象」に「ABCdDEFGHI」と入力してみましょう。

すると、find関数の場合は「5」と返されるのです。

search関数の場合は前と同じで「4」と表示されます。

これらがfind関数とsearch関数の違いの1つです。

 

エクセルのfind関数とsearch関数の違い2 【ワイルドカードの適用の可否】

さらにfind関数とserach関数の違いとして「ワイルドカードを使った検索が可能かどうか」が挙げられます。

ワイルドカード(あいまい検索)が可能なのはsearch関数のみです。

以下のエクセルに入力した「東京都千代田区大手町」で、「大手町」が何番目にあるかワイルドカードを使用して検索してみます。

具体的には、任意のセルに=SEARCH(“大*”,B2)と入力すると良いです。

この数式の意味を解説します。

ワイルドカードには、

・「*」:任意の1文字以上(文字数の指定はなし)

・「?」:任意の1文字(文字数を指定)

などの種類があります。

search関数以外でも、「~を含む」文字列の検索をかけたい時に利用します。

たとえば、「大手町」という文字であれば、

・「大*」

・「大??」

と、入力することで、条件付きですが検索対象にすることができます。

そのため、このままENTERキーを押すと「大手町」の位置である「8」が表示されます。

このワイルドカードはfind関数では使用できません。

ためしに、先ほどのsearch関数と同じ条件でfind関数の数式を入力してみます。

このまま、ENTERキーを押すとfind関数ではワイルドカードが使用できないため、「VALUE」エラーが表示されます。

このようにfind関数とsearch関数の違いとして、ワイルドカードを使って検索ができるかどうか?もあります。

エクセルのfind関数とsearch関数の違い【関数名の違い】

なお、当たり前ですが入力時の関数名が「findかsearchか」で違います。

それぞれの関数の基本的な使い方を紹介しつつ、この違いも見ていきます。

以下のエクセルに入力した「ABCDEFGHI」で、「D」が何番目にあるかを検索します。

具体的には、任意のセルに=FIND(“D”,B2) もしくは、=SEARCH(“D”,B2)と入力すると良いです。

この数式の意味を解説します。

find関数とsearch関数はそれぞれ、

=FIND(検索文字列、対象、開始位置)

=SERCH(検索文字列、対象、開始位置)

と入力し、その構成も同様です。関数名のみが違うわけです。

基本的な機能は同じで、「検索文字列」が「対象」の文字列の何番目にあるかを結果として返します。

また、「開始位置」は任意の設定です。設定しない場合は、1文字目から何文字かを検索します。

設定した場合は、検索を開始する位置を「開始位置」に設定することができます。

 

そのため、このままENTERキーを押すと「D」の位置である「4」が表示されます。

 

【Excel】エクセルでのfind関数の使い方や意味・読み方この記事では「エクセルでのfind関数の使い方や意味・読み方」について、解説していきます。 エクセルでのfind関数は ...

 

まとめ エクセルのfind関数とsearch関数の違い【大文字・小文字など】

この記事では「エクセルのfind関数とsearch関数の違い」について解説しました。

エクセルで検索文字列が対象の文字列の何番目にあるかを調べたい時は、find関数かsearch関数を使うと良いです。

その上で、対象の文字列が大文字と小文字の混合であればfind関数を使う、検索文字列にワイルドカードを使う場合はsearch関数を使う、というふうに使いわけてみてください。

エクセルでのさまざまな処理を理解し、業務に役立てていきましょう。



↓エクセル初心者~中級者に最もおすすめの本↓

一連の操作がかなり詳しく学べる一冊