文字の中から特定の文字を検索する方法(FIND/SEARCH関数)

関数

Youtubeで公開している内容をまとめたものです。

FINDとSEARCH関数の違い

こんにちは、JIMOVEの山口です。

今回はExcelで文字列の中から特定の文字列が何文字目に存在するかを検索するFIND関数とSEARCH関数の違いについて解説します。

FIND関数の基本

FIND関数は、文字列の中から特定の文字列を検索し、その最初の位置を返します。

この関数は大文字と小文字を区別し、次のように使用します。

=FIND(検索文字列,対象文字列, [開始位置])

開始位置は省略可能で、指定しない場合は文字列の最初から検索をします。

SEARCH関数の基本

SEARCH関数もFIND関数と同様に文字列の中から特定の文字列を検索しますが、大きな違いは大文字と小文字を区別しない点です。

また、ワイルドカード("*"や”?”)の使用が可能で、より柔軟な検索が行えます。

使い方はFIND関数と同様ですが、SEARCH関数は

=SEARCH(検索文字列,対象文字列, [開始位置])

と記述します。

大文字と小文字の区別

FIND関数では大文字と小文字が厳密に区別されるため、”Apple”と”apple”は異なる文字列として扱われます。

一方で、SEARCH関数ではこれらは同じものとみなされます。

この違いを利用して、どちらの関数を利用するかを考えます。

ワイルドカードの使用

SEARCH関数では、ワイルドカードを使用して、特定のパターンに一致する文字列を検索できます。

このワイルドカードというのは、あいまいな検索ができるという意味で、例えば、”app*”という検索文字列は”apple”や”application”など、”app”で始まる任意の文字列が一致します。

FIND関数ではこのような検索はできません。

実践例

例えば、”D”という文字列を”ABCDEFGH”から検索する場合、FIND関数とSEARCH関数では異なる結果になります。

まず、FIND関数を使って文字列の中から特定の文字が何文字目にあるかを検索します。

この関数は大文字と小文字を区別します。

例えば、大文字の”D”で検索すると、”D”が含まれる位置を正確に返しますが、小文字の”d”を同様に検索しようとすると結果が出ません。

これはFIND関数が大文字と小文字を区別するためです。

SEARCH関数の使用例

SEARCH関数はFIND関数と似ていますが、大文字と小文字を区別しない点が異なります。

これにより、”D”も”d”も同様に検索可能となり、より柔軟な検索が可能です。

また、SEARCH関数はワイルドカード(”*”や”?”)を使用できるため、部分一致の検索ができます。

まとめ

  • FIND関数は大文字と小文字を区別し、ワイルドカードは使用できません。
  • SEARCH関数は大文字と小文字を区別せず、ワイルドカードの使用が可能です。

このような違いを理解し、用途に応じて適切な関数を選択しましょう。

コメント