TEXTBEFORE関数は、引数で指定された区切り(文字または文字列)の前に出現するテキストを返します。
構文
=TEXTBEFORE(text,delimiter,[instance_num], [match_mode], [match_end], [if_not_found])

TEXTBEFORE関数の使い方 365で使える関数 17回
この関数の使いやすさのポイントは、 区切りの位置がどこにあるかわからなくても使えるということです。
今までエクセルで区切り位置を Find 関数やSearch関数を使って調べていました。
そして Left関数や Mid関数などで抜き出したわけですが、その作業がTEXTBEFORE関数の場合は必要ありません。
これは画期的なことです。
(サンプルファイルは、こちらから サンプルデータ)
サンプルの表にあるアドレスからアカウント名を取り出してみましょう。
=TEXTBEFORE(A3,"@")
文字列にはA3セルを、区切り文字は”@”を指定しました。

つづいて、A3:A14までの範囲を指定してみます。

今度は氏名を名前と姓に分けてみましょう。
この区切りは、半角スペースと全角スペースが混在しています。

この場合は、区切り文字を2つ指定してやります。
方法は配列として指定するので、中括弧の中に区切り文字を,で区切って入力します。
=TEXTBEFORE(A17:A23,{" "," "})

同じ引数の区切り文字が文字列中に何個も存在する場合は、
何番目の区切り文字で文字列を取り出すかを指定することができます。
サンプルでは、範囲の文字列A28:A30を指定し、区切り文字に”,” カンマを指定、その取り出す位置を3としました。
=TEXTBEFORE(A28:A30,",",3)

数式を入力したセルA32から結果がスピルで表示されました。

区切り位置の順番を負の値で指定すると、後ろから区切り位置を検索して、その指定位置を取り出すことができます。














21.

22.

23.

24.

25.

26.

27.

28.

29.

30.

31.

32.

33.

34.

35.

36.

37.

38.

39.
