前回の記事の中で、SEARCH関数とFIND関数が登場しました。この2つはどちらも、データの中から特定のテキストを見つけるのに役立つ便利なワークシート関数です。
今回はこれらの違いと具体的な使用方法を紹介します。
SEARCH関数
SEARCH関数は、ある文字列が別の文字列内で最初に現れる位置を返します。この関数の最大の特徴は、**大文字と小文字を区別しない**ことです。また、ワイルドカード文字(`*` や `?`)も使用できます。なおワイルドカードというのは、コンピュータプログラミングやデータ検索で、任意の文字列や一文字を表すために使用される特殊な記号です。
SEARCH関数の使用法:
=SEARCH(検索文字列, 対象文字列, [開始位置])
- 検索文字列: 対象文字列の中で検索したいテキスト。
- 対象文字列: 検索を行う文字列。
- [開始位置]: 検索を開始する位置(オプション)。
例えば以下のように使うことができます。
FIND関数
FIND関数もSEARCH関数と同様に、文字列内で別の文字列が最初に現れる位置を返しますが、**大文字と小文字を区別します**。また、ワイルドカードは使用できません。
FIND関数の使用法:
=FIND(検索文字列, 対象文字列, [開始位置])
- 検索文字列: 対象文字列の中で検索したいテキスト。
- 対象文字列: 検索を行う文字列。
- [開始位置]: 検索を開始する位置(オプション)。
この式は、セルA1内のテキストに正確に”Apple”という文字列が含まれている場合にその位置を返します。”apple”や”APPLE”は見つけることができません。
どちらを使うべきか?
まず一般論としては、大文字と小文字の区別が重要な場合には、FIND関数を使用します。一方で大文字と小文字を区別せず、ワイルドカードを使用したい場合には、SEARCH関数が適しています。
しかし、これではFIND関数をいつ使うのかいまいち理解できないと思います。SEARCH関数だけで十分では?と思われるかもしれません。FIND関数が有効なのか、小文字と大文字が混在している時に、小文字のデータと大文字のデータがそれぞれ何件ずつあるのか知りたいようなケースです。あるデータテーブルに置いて、例えば”News”という綴りは何データ有り、”NEWS”はいくつかあるか、といったことを知りたい時はFIND関数の出番となります。
コメント