リリース ノート
指定した文字または文字列の前に出現するテキストを返します。 これは、TEXTAFTER 関数 の反対です。
構文
=TEXTBEFORE(text,delimiter,[instance_num], [match_mode], [match_end], [if_not_found])
TEXTBEFORE 関数の構文には、次の引数があります。
テキスト 検索するテキスト。 ワイルドカード文字は使用できません。 テキストが空の文字列の場合、Excel は空のテキストを返します。 必ず指定します。
区切り 記号 抽出する前のポイントをマークするテキスト。 必ず指定します。
instance_num テキストを抽出する区切り記号のインスタンス。 既定では、instance_num = 1 です。 負の数を指定すると、テキストの末尾から検索が開始します。 省略可能です。
match_mode テキスト検索で大文字と小文字が区別されるかどうかを判断します。 既定では大文字と小文字が区別されます。 省略可能です。 次のいずれかを入力します。
- 0 大文字と小文字が区別されます。
- 1 大文字と小文字を区別しません。
match_end テキストの末尾を区切り記号として扱います。 既定では、テキストは完全一致です。 省略可能です。 次のように入力します。
- 0 区切り記号とテキストの末尾が一致しません。
- 1 区切り記号をテキストの末尾と一致させます。
if_not_found 一致するものが見つからない場合に返される値。 既定では、#N/A が返されます。 省略可能です。
解説
空の区切り値で検索すると、TEXTBEFORE はすぐに一致します。 前から検索するとき (instance_num が正の場合) には空のテキストが返され、末尾から検索するとき (instance_num が負の場合) にはテキスト全体が返されます。
| 使用例 | 結果 |
|---|---|
| =TEXTBEFORE("Red riding hood's, red hood", "hood") | Red riding |
| =TEXTBEFORE("Red riding hood's, red hood", "") | |
| =TEXTBEFORE("Red riding hood's, red hood", "", -1) | 赤い乗りフード、赤いフード |
エラー
- Excel は#VALUEを返します。 instance_num = 0 の場合、または instance_num がテキストの長さを超える場合はエラーです。
- Excel では、指定の区切り記号が指定のテキストに含まれない場合に #N/A エラーを返します。
- Excel は、instance_num がテキスト内の区切り記号の出現回数より大きい場合に #N/A エラーを返します。
使用例
次のそれぞれの表のサンプル データをコピーし、新しい Excel ワークシートのセル A1 に貼り付けます。 必要に応じて、列幅を調整してすべてのデータを表示してください。
使用例 1
| 赤ずきんちゃんの赤いフード | ||
|---|---|---|
| データ | ||
| 赤ずきんちゃんの赤いフード | ||
| 数式 | 結果 | |
| =TEXTBEFORE(A2,"Red") | 少し | |
| =TEXTBEFORE(A3,"Red") | #N/A | |
| =TEXTBEFORE(A3,"red",2) | 赤ずきんちゃんの赤いフード | |
| =TEXTBEFORE(A3,"red",-2) | 少し | |
| =TEXTBEFORE(A3,"Red",FALSE) | #N/A | |
| =TEXTBEFORE(A3,"red",3) | #N/A |
使用例 2
| データ | |
|---|---|
| マルクス アウレリウス | |
| ソクラテス | |
| イマヌエル カント | |
| 数式 | 結果 |
| =TEXTBEFORE(A2," ",,,1) | マルクス |
| =TEXTBEFORE(A3," ",,,0) | #N/A |
| =TEXTBEFORE(A3," ",,,1) | ソクラテス |
| =TEXTBEFORE(A4," ",,,1) | イマヌエル |