Excel

特定の文字列の位置を検索するSEARCH関数の基本的な使い方とFIND関数との違い

 

文字列のどの位置に特定の文字列が含まれているかを調べる関数として、Excel関数には、SEARCH関数FIND関数とが用意されています。

 

この記事では、SEARCH関数の基本的な使い方と、大文字と小文字を区別するか、ワイルドカードが使えるかといった、SEARCH関数とFIND関数との違いを詳しく説明します。

表|SEARCH関数とFIND関数

 

 

特定の文字の位置をFIND関数で調べる

SEARCH(サーチ)関数の書式

SEARCH(サーチ)関数は、文字列のどの位置に特定の文字列が含まれているかを調べる関数です。

[=SEARCH( 検索文字列 , 対象 [,開始位置] )]という書式で表します。

 

検索文字列
検索する特定の文字・文字列を指定します。

対象
特定の文字列を検索するセル(対象となる文字列)を指定します。

開始位置
何文字目から特定の文字列を検索するか
を対象の先頭文字を1として、数値で指定します。
省略した場合は1を指定したとみなされます。

 

サーチ 書式
SEARCH関数 検索文字列 , 対象 [,開始位置] 

 

[ - ]ハイフンの位置を調べる

SEARCH関数を使って、-(ハイフン)の位置を調べます。

例として、manabi-info という文字列にある-(ハイフン)の位置をFIND関数を使って調べてみます。

SEARCH関数の例題1

 

SEARCH関数を入力する

C3セルにSEARCH関数を入力します。

 

C3セルに、=seと入力します。

すると、SEARCHという表示が現れるので、SEARCHを選択し、Tabキーを押します。

C3セルに=seと入力

 

 

=SEARCH( に続けて入力

C3セルに、=SEARCH(と入力されます。

C3セルに=SEARCH(と入力される

 

 

これに続けて、検索文字列としてB3セルをクリック、

検索文字列としてB3をクリック

 

 

,(半角カンマ)を入力し、対象としてA3セルをクリックします。

対象としてA3をクリック

 

 

Enterを押し、式を確定します。すると、7が返されます。

C3セルに7が返される

 

これは、-(ハイフン)7番目にあるということを示しています。

 

[ bi ]の位置を調べる

SEARCH関数は、文字列の位置を調べる関数です。

そこで、今度は、biの位置を調べてみます。

B3セルにbiと入力します。

B3セルにbiと入力

 

C3セルに5が返されました。

 

 

FIND関数との違い

同じように、文字列のどの位置に特定の文字列が含まれているかを調べる関数として、FIND関数があります。

 

そこで、SEARCH関数FIND関数違いを説明します。

 

大文字と小文字を区別するか

SEARCH関数は、大文字と小文字区別しません

一方、FIND関数は、大文字と小文字区別します

 

では、例を挙げて説明します。

例1MANABI-info という文字列があるとします。この文字列に含まれるiの位置を調べます。

 

SEARCH関数とFIND関数でそれぞれ調べた結果は次のようになります。

大文字と小文字を区別しないSEARCH関数は、大文字のIの位置である6を返します。

 

一方、大文字と小文字を区別するFIND関数は、小文字のiの位置である8を返します。

SEARCHとFINDの違い1

 

 

例2MANABI-info という文字列があるとします。この文字列に含まれるaの位置を調べます。

大文字と小文字を区別しないSEARCH関数は、最初の大文字のAの位置である2を返します。

 

一方、大文字と小文字を区別するFIND関数は、小文字のaという文字列が存在しないので#VALUE!を返します。

SEARCHとFINDの違い2

 

【関連記事】よく起きるエラーの種類と原因、そして解決法

 

ワイルドカードが使えるか

SEARCH関数は、ワイルドカード使えます

一方、FIND関数は、ワイルドカード使えません

 

こちらも、例を挙げて説明します。

例3MANABI-info という文字列があるとします。この文字列に含まれるi*の位置を調べます。

ワイルドカードが使えるSEARCH関数は、大文字Iの位置である6を返します。

 

一方、ワイルドカードが使えないFIND関数は、#VALUE!を返します。

SEARCHとFINDの違い3

 

 

SEARCH関数は、大文字と小文字を区別しないため、小文字iからはじまる文字列の位置を調べたい場合はin*などで調べるといった工夫が必要となります。

in*として調べると、iの位置である8が返されます。

SEARCHとFINDの違い4

 

SEARCH関数とFIND関数との違いまとめ

SEARCH関数とFIND関数との違いを簡単にまとめると次のようになります。

この記事で取り扱った、-(ハイフン)を調べるような場合は、どちらの関数で調べても違いはありません

 

一方、大文字と小文字を区別する必要がある場合や、ワイルドカードを使用する場合は適切な方を選ぶ必要があります。

表|SEARCH関数とFIND関数

 

いずれも、文字列操作に便利な関数なので、このような違いがあることを知っておいてください。

 

おすすめ記事

参考文献

-Excel
-

© 2024 まなびっと Powered by AFFINGER5