ExcelのSEARCH関数の使い方について具体例を交えて説明します。
書式
SEARCH(検索文字列,対象,[開始位置])
※ []内の引数は任意の項目です。
関数と変数の説明
対象の文字列の開始位置から検索文字列の場所を調べ、その検索文字列のある最初の文字数を返します。該当する検索文字列が存在しないと「#VALUE!」を返します。
- 検索文字列(必須項目):検索したい文字列です。
- 対象(必須項目):検索文字列を含む検索する対象となる文字列です。
- 開始位置(任意項目):検索を開始する位置を指定します。0以下を指定すると「#VALUE!」を返します。
- 大文字と小文字は区別せず、検索します。
- 検索文字列にワイルドカードが利用できます。
似た動作をするFIND関数は大文字と小文字を区別し、ワイルドカードは使えません。
SEARCH関数は先頭からの「文字数」が返ってきます。バイト数で取得したい場合はSEARCHB関数を利用します。通常はプログラマブルなお仕事でない限りSEARCH関数で問題ありません。
使用例
A | B | C | |
---|---|---|---|
1 | 対象文字列 | ||
2 | マイクロソフトはソフトウェア会社です。 | ||
3 | |||
4 | 取得したい内容 | 出力結果 | 計算式 |
5 | 1.「ソフト」の位置を知りたいとき([開始位置]変数省略のとき) | 5 | =SEARCH(“ソフト”,A2) |
6 | 2.「ソフト」の位置を知りたいとき([開始位置]変数1のとき) | 5 | =SEARCH(“ソフト”,A2,1) |
7 | 3.6文字目以降に出現する「ソフト」の位置を知りたいとき | 9 | =SEARCH(“ソフト”,A2,6) |
8 | 4.該当する文字が存在しないとき | #VALUE! | =SEARCH(“アップル”,A2,6) |
9 | 5.[開始位置]変数が0以下のとき | #VALUE! | =SEARCH(“ソフト”,A3,0) |
「1.「ソフト」の位置を知りたいとき([開始位置]変数省略のとき)」のケースは開始位置変数を省略したときの出力結果です。開始位置が省略されあときは1で計算されるため、「2.「ソフト」の位置を知りたいとき([開始位置]変数1のとき)」と同じ結果になります。「ソフト」は5文字目に出現するため、5が返ってきます。
「3.6文字目以降に出現する「ソフト」の位置を知りたいとき」のケースは開始位置が6からとなっているので、最初の5文字は無視して、6文字目からとなる「フトはソフトウェア会社です。」から「ソフト」の位置の調べます。そうすると「ソフトウェア会社です」の「ソフト」が該当します。そのため、9が返ってきます。
「4.該当する文字が存在しないとき」のケースは対象文字列に「アップル」は存在しません。そのときは「#VALUE!」が返ってきます。
「5.[開始位置]変数が0以下のとき」のケースは開始位置が0と誤った値です。その場合は「#VALUE!」が返ってきます。
SEARCH関数と他の関数の組み合わせで便利に使う方法
類似関数
- SEARCHB関数(バイト数を返すのではなく、文字数を返す関数です。)
コメント