Excelで文字列がセルの何文字目にあるか検索する方法/Find関数・Search関数の使い方

IT

セルの中で文字列を検索し、発見できた場合はその文字列が何文字目からスタートしているかを調べるfind関数のご紹介です。
これ単体で使うことはあまりなく、組み合わせで仕事をする関数だと思いますが、簡易的に頻出文字を調べるのに使うこともあります。

Advertisements

Find関数の使い方

指定した文字列が何文字目にあるか調べる
=find(“文字列”,対象)
find1
ちょっとしたクイズを作ってみました。「れ」は何文字、どの場所にあるでしょうか?
find2
これを探すために、=find(“れ”,A1)
A1“れ”を検索し、もしあったら左から何文字目にあるかを返す)と入力します。
find3
A1セルの場合、「れ」は左から3文字目にあるため、「3」が返されました。
find4
下までオートフィルでコピーすると、「れ」がどのへんに隠れているか一目瞭然となりました。
find5
ただし、一列に2つ検索対象がある場合は、どちらかしか検出されません。
find6
この場合、最後に「何文字目から検索をスタートするか」を数字で指定することで、2つめの検索対象を見つけることができます
find7
2つめの検索対象を発見できました。必要に応じて、Find関数の戻り値+1を開始位置にしたFind関数をもうひとつ配置するなどの工夫が必要となります。

半角/全角など

find8
アルファベットや数字を探すこともできます。
find9
ただし半角全角はおろか、大文字小文字が違っても検出に失敗します。もし全角・半角をまとめて検索したいのであれば、Search関数を使います。
指定した文字列が何文字目にあるか調べる(ワイルドカード検索)
=Search(“文字列”,対象)
search1
基本的な使い方は同じです。まず=Searchと置き、
search2
検索する文字列および対象のセルを指定します。
search3
結果、検索文字が左から何番目にあるかが表示されます。
search4
見つからない場合はエラーとなります。
search5
ただし、Find関数とちがい大文字小文字は区別しません
search6
一番最後に左から何番目から先を検索するかを数字で指定することもできます。これもFind関数同様です。
search7
また、Search関数はワイルドカードが使用可能です。たとえば=Search(“t?st”,A1)と入力しても、Test(あるいはTastや、Tist)の位置が数字で返されます。
search8
*も使えますが、関数の性質上あまり使う機会はないと思います。
Excelで特定の文字・記号より左の(頭の)文字列だけを抽出する方法/Find・Left関数の組み合わせ方
定番の組み合わせで、たとえば文中の空白より左の文字列だけを取り出す、といった使い方ができます。
やりたいことから方法を探すエクセルExcel操作・関数・VBA(マクロ)逆引きまとめ
逆引き(やりたいことから探す)Excel記事まとめ
関数・演算子・メソッド・プロパティ名から探すExcel/VBA(マクロ)使い方・組み合わせ方まとめ
こちらはExcelやメソッドの諸機能を、機能の名称から探せるまとめ記事です。

コメント