[Excel]SEARCH関数
2019年9月16日
SEARCH関数
指定した文字列の中から、別に指定した文字列を検索し、その位置を返します。
Excel for Office 365 Excel for Office 365 for Mac Excel 2016 Excel 2013 Excel 2010 Excel 2007 Excel 2016 for Mac Excel for Mac 2011 Excel Online Excel for iPad Excel for iPhone Excel for Android タブレット Excel for Android フォン Excel Mobile Excel Starter 2010
機能
SEARCH 関数は、指定した文字列の中から、別に指定した文字列を検索し、その位置を返します。この際、大文字と小文字は区別されません。また、検索する文字列にはワイルドカード”*”及び”?”が使用できます。
構文
SEARCH(検索文字列,対象,[開始位置])
引数 | 説明 | 引数の指定 | 既定値 |
---|---|---|---|
検索文字列 | 検索する文字列を指定します。ワイルドカードが使用可能です。 | 必須 | (無し) |
対象 | 検索文字列引数に指定した値を含む文字列を指定します。 | 必須 | (無し) |
開始位置 | 検索を開始する位置を指定します。 | 省略可能 | 1 |
解説
基本
まずはSEARCH 関数の簡単な例を見てみましょう。例えば、ある文字列から、"どんより“という文字列を検索します。
=SEARCH(“どんより", “うどんより蕎麦が好き。")
“どんより" は “うどんより蕎麦が好き。"の2~5文字目であるため、この関数は2 を返します。ここで、第3引数{開始位置}は省略しているので、1が指定されます。この例では、{開始位置}は1~2までの値であれば、戻り値は変わらず2を返しますが、3を指定すると、3文字目の”ん”から検索を開始するため、”どんより”を検出できずにエラー#VALUEが返ります。
ここで、SEARCH関数がエラー値#VALUE!を返すケースは下記の通りです。
- {対象}の中から{検索文字列} が見つからない場合
- {開始位置} に 0 以下の値を指定した場合
- {開始位置}に{対象}の長さよりも大きい値を指定した場合
数式 | 結果 | 説明 |
---|---|---|
=SEARCH(“どんより", “うどんより蕎麦が好き") | 2 | 第3引数{開始位置}を省略した場合は1が指定される。 |
=SEARCH(“どんより", “うどんより蕎麦が好き", 1) | 2 | 1文字目から"どんより"を検索し、2文字目で検出。 |
=SEARCH(“どんより", “うどんより蕎麦が好き", 2) | 2 | 2文字目から"どんより"を検索し、2文字目で検出。 |
=SEARCH(“どんより", “うどんより蕎麦が好き", 3) | #VALUE! | 3文字目から"どんより"を検索したが、未検出のためエラー。 |
=SEARCH(“どんより", “うどんより蕎麦が好き", 99) | #VALUE! | 第3引数{開始位置}が第2引数{対象}の長さよりも大きいためエラー。 |
=SEARCH(“どんより", “うどんより蕎麦が好き", 0) | #VALUE! | 第3引数{開始位置}が1未満の値であるためエラー。 |
=SEARCH(“", “うどんより蕎麦が好き", 1) | 1 | 第1引数{検索文字列}に空文字を指定すると、開始位置で指定した値を返す。 |
=SEARCH(“", “うどんより蕎麦が好き", 2) | 2 | 同上 |
=SEARCH(“", “うどんより蕎麦が好き", 99) | #VALUE! | 第1引数{検索文字列}に空文字を指定しても、第3引数{開始位置}が第2引数{対象}の長さよりも大きい場合はエラー。 |
高度な機能
大文字と小文字
数式 | 結果 | 説明 |
---|---|---|
=SEARCH(“c", “ABCDE") | 3 | 大文字"ABCDE"の中から小文字の"c"を検索した場合、3番目の大文字の"C"を検出。 |
=SEARCH(“C", “abcde") | 3 | 小文字"abcde"の中から大文字の"C"を検索した場合、3番目の小文字の"c"を検出。 |
=SEARCH(“c", “abcde") | #VALUE! | 小文字の半角"abcde"の中から小文字の全角"c"を検索した場合、未検出でエラー。 |
=SEARCH(“C", “ABCDE") | #VALUE! | 大文字の半角"ABCDE"の中から大文字の全角"C"を検索した場合、未検出でエラー。 |
=SEARCH(“c", “abcde") | #VALUE! | 小文字の全角"abcde"の中から小文字の半角"c"を検索した場合、未検出でエラー。 |
=SEARCH(“C", “ABCDE") | #VALUE! | 大文字の全角"ABCDE"の中から大文字の半角"C"を検索した場合、未検出でエラー。 |
ワイルドカード
数式 | 結果 | 説明 |
---|---|---|
=IFERROR(0 < SEARCH(“まさか*ろう", “まさかり担いだ金たろう"), FALSE) | True | 指定文字列中に"まさか"~"ろう"が含まれているか検出。 |
=IFERROR(0 < SEARCH(“県???市", “茨城県水戸市"), FALSE) | False | 市名が3文字の県を検出。2文字であるためFALSE。 |
=IFERROR(0 < SEARCH(“県???市", “栃木県宇都宮市"), FALSE) | True | 市名が3文字の県を検出。3文字であるためTRUE。 |
=IFERROR(0 < SEARCH(“県???市", “埼玉県さいたま市"), FALSE) | False | 市名が3文字の県を検出。4文字であるためFALSE。 |
=IFERROR(0 < SEARCH(“県???市", “東京都新宿区"), FALSE) | False | 市名が3文字の県を検出。県ではないためFALSE。 |
スポンサーリンク
この記事のトラックバックURL
スポンサーリンク
カテゴリー
スポンサーリンク
-
ホーム -
上へ
ディスカッション
コメント一覧
まだ、コメントがありません