【Excel】SEARCH関数とFIND関数

Excel 基本動作

前回の記事の中で、SEARCH関数とFIND関数が登場しました。この2つはどちらも、データの中から特定のテキストを見つけるのに役立つ便利なワークシート関数です。

【Excel】"~を含む場合" / 部分一致(LIKE)をワークシート関数で表現する方法(ISNUMBER x SEARCH / ISNUMBER x FIND)
今回は、条件分岐に部分一致を設定する方法を説明します。具体的には、ISNUMBER関数とSEARCH関数の組み合わせ、もしくはSEARCH関数の代わりにFIND関数を使う方法を説明します。

今回はこれらの違いと具体的な使用方法を紹介します。

スポンサーリンク

SEARCH関数

SEARCH関数は、ある文字列が別の文字列内で最初に現れる位置を返します。この関数の最大の特徴は、**大文字と小文字を区別しない**ことです。また、ワイルドカード文字(`*` や `?`)も使用できます。なおワイルドカードというのは、コンピュータプログラミングやデータ検索で、任意の文字列や一文字を表すために使用される特殊な記号です。

SEARCH関数の使用法:

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

  •  検索文字列: 対象文字列の中で検索したいテキスト。
  • 対象文字列: 検索を行う文字列。
  • [開始位置]: 検索を開始する位置(オプション)。

例えば以下のように使うことができます。

スポンサーリンク

FIND関数

FIND関数もSEARCH関数と同様に、文字列内で別の文字列が最初に現れる位置を返しますが、**大文字と小文字を区別します**。また、ワイルドカードは使用できません。

FIND関数の使用法:

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

  •  検索文字列: 対象文字列の中で検索したいテキスト。
  •  対象文字列: 検索を行う文字列。
  •  [開始位置]: 検索を開始する位置(オプション)。

この式は、セルA1内のテキストに正確に”Apple”という文字列が含まれている場合にその位置を返します。”apple”や”APPLE”は見つけることができません。

どちらを使うべきか?

まず一般論としては、大文字と小文字の区別が重要な場合には、FIND関数を使用します。一方で大文字と小文字を区別せず、ワイルドカードを使用したい場合には、SEARCH関数が適しています。

しかし、これではFIND関数をいつ使うのかいまいち理解できないと思います。SEARCH関数だけで十分では?と思われるかもしれません。FIND関数が有効なのか、小文字と大文字が混在している時に、小文字のデータと大文字のデータがそれぞれ何件ずつあるのか知りたいようなケースです。あるデータテーブルに置いて、例えば”News”という綴りは何データ有り、”NEWS”はいくつかあるか、といったことを知りたい時はFIND関数の出番となります。

コメント

タイトルとURLをコピーしました