説明
この関数を使用して、別のテキスト文字列の中にあるテキスト文字列を検索し、2番目のテキスト文字列の最初の文字から最初のテキスト文字列の開始位置の番号を返却する。チェーンでサポートされます。
この関数は、大きな文字列の中で特定の文字や部分文字列の位置を決定するのに便利である。
構文
SEARCH(find_text, within_text, [start_num])
入力
この関数は以下の引数を承認します:
| 名称 | 必須 | 説明 | 有効な入力 |
|---|---|---|---|
find_text |
はい | 検索したいテキスト。 | テキスト文字列またはテキスト文字列を含むセル参照。 |
テキスト内 |
はい |
find_textで検索したいテキスト。 |
テキスト文字列またはテキスト文字列を含むセル参照。 |
開始番号 |
いいえ | 検索を開始するwithin_textにおける文字番号。 |
正の整数。省略された場合は、1 と見なされる。 |
例
サンプルデータ
| A | B |
|---|---|
| 素晴らしい | スプレッドシート |
| 関数 | 数式 |
| 検索 | テキスト |
| 彼は音楽を演奏していたのではなく、エクスペリエンスを生きていたのだ。 | データ |
数式のサンプル
| 使用例 | 数式 | 説明と結果 |
|---|---|---|
| テキスト文字列内の特定の文字の開始位置を特定します。 | =SEARCH("S", B1) |
「Spreadsheet」という単語の中で「S」が最初に現れる場所を見つけます。それは、まさに最初です。 結果:1 |
| テキスト文字列内の文字の位置を特定します。 | =SEARCH("x", A1) |
「Excellent」の中で「x」が最初に現れる箇所を検索します。 結果:2 |
| テキスト文字列の途中から始まる文字を検索し、それより前の一致はすべてスキップします。 | =SEARCH("e", A1, 3) |
「Excellent」の3文字目以降から「e」の検索を開始するため、それより前の「e」は対象外となります。 結果:4 |
| 長いテキスト文字列の中から、コンマなどの区切り文字の位置を特定します。 | =SEARCH(", ", A4) |
A4の文の中で、コンマとスペースの組み合わせが最初に現れる箇所を検索します。 結果:24 |
| 単一のセルではなく、セルの範囲を指定して検索しようとするとどうなるか、確認してみてください。 | =SEARCH("e", A1:A4) |
SEARCH 関数はセル範囲に対応していないため、セル範囲を指定すると、位置の代わりにエラーが返されます。 結果:#VALUE! |
メモ
- SEARCHではワイルドカードを使用することができます:"?"は任意の1文字に、"*"は任意の連続した文字にマッチします。
- SEARCHは大文字と小文字を区別しない。大文字と小文字を区別して検索するには、FIND を使用します。
- SEARCHはセル範囲をサポートしていません。範囲が指定された場合、SEARCHは#VALUE!エラーを返却する。
-
のfind_text()の値が、のwithin_text()に見つからない場合、SEARCHは#VALUE!エラーを返します。 - SEARCH関数は、、MID 、、LEFT 、、RIGHT などの他の関数と組み合わせて使用することで、検出された位置に基づいてテキスト文字列の特定の部分を抽出することができます。
ヒント
- 大文字と小文字の区別が重要でない場合、テキスト文字列内の部分文字列の位置を検索するにはSEARCHを使用する。
- SEARCH とLEN を結合して、特定の部分文字列の前後のテキストの長さを検索する。
- SEARCHは、区切り文字や特定の文字の位置を識別することで、データのクリーニングや解析タスクをヘルプすることができます。
関連関数
CHAR
CODE
CONCATENATE
CONCATENATEIF
FIND
LEFT
LEN
LOWER
MID
PROPER
REPT
RIGHT
SEARCH
SUBSTITUTE
TEXT
TEXTJOIN
TRIM
UNICHAR
UNICODE
UPPER