「StiLL」Excel情報315  関数--SEARCH関数
■今回ご紹介するSEARCH関数は、文字列の中から指定した文字が何文字目にあるかを検索する関数です。例として、住所から都道府県を抽出する方法をご紹介しています。 ☆対応方法:この関数にて必要な情報は「=SEARCH(検索文字列、対象[、開始位置])」となります。また、「?」や「*」といったワイルドカード文字列を使った検索をすることができます。 ※ご注意下さい。全角・半角は区別して検索されますが、英字の大文字・小文字は区別しないで検索されます。英字の大文字・小文字を区別して検索するには、FIND関数を使用します。また、空白や句読点も1文字として数えます。
今回は、バックナンバー080でご紹介した 関数--SEARCH関数
の Excel2010版をご紹介します。
Excel2003以前のバージョンでの方法は、以下のバックナンバーをご参照ください。
【バックナンバー080】 関数--SEARCH関数
Excel2007では本作成方法と同等です。
■SEARCH関数とは
この関数は、指定された文字列を他の文字列の中で検索し、その文字列が最初に現れる
位置の文字番号を返します。書式は以下の通りです。
例えば、セルA1は「Excel」とし、セルA2は「=SEARCH("x",A1)」とします。
すると、Excelにて"x"は2文字目にあるので、「2」が返されます。
注意:
全角・半角は区別して検索されますが、英字の大文字・小文字は区別しないで検索されます。
英字の大文字・小文字を区別して検索するには、FIND関数を使用します。
また、空白や句読点も1文字として数えます。
■SEARCH関数使用例
住所データのうち、都道府県のみを抽出します。SEARCH関数を使い、"県"が何文字目に
あるかを検索します。
しかし、東京都/北海道/大阪府/京都府に関しては"県"ではないのですが、これらすべて
3文字となっているので、ISERROR関数(この関数の詳細については当メールサービスの
バックナンバー244を参照下さい)との組み合わせによって、エラーを回避できます。
さらにLEFT関数を使い、都道府県を抽出します。
これで、都道府県を抽出できます。
ただし、「大阪府柏原市大県」のような場合は、位置が「8」になります。
「大阪府柏原市大県」の場合も含めて正しく表示させるためには
=IF(ISERROR(SEARCH("県",B3)),3,IF(SEARCH("県",B3)>4,3,SEARCH("県",B3)))
とする必要があります。
■ワイルドカードを使った検索
ワイルドカード文字(詳細は当メールサービスのバックナンバー249を参照下さい)の
「? (疑問符)」、「* (アスタリスク)」を使った検索もできます。
例えば下図のように、商品コードが「×××5-×××」(頭4桁目が5)のものを検索する場合
には、以下のようなSEARCH関数とワイルドカード文字を使った数式を使うことで検索できます。
バックナンバーは下記よりご参照ください。
http://www.still.co.jp/excel/ems.html
Copyright(C) アイエルアイ総合研究所 無断転載を禁じます