小学館IDをお持ちの方はこちらから
ログイン
初めてご利用の方
小学館IDにご登録いただくと限定イベントへの参加や読者プレゼントにお申し込み頂くことができます。また、定期にメールマガジンでお気に入りジャンルの最新情報をお届け致します。
新規登録
人気のタグ
おすすめのサイト
企業ニュース

ExcelのTEXTBEFORE関数って何?特定の文字より前にある言葉を抽出する方法

2025.11.18

TEXTBEFORE関数は、文字列から区切り文字の前部分だけ抜き出す関数である。メールアドレスや住所などの一部分を抜き出すのに便利な関数だ。複数の区切り文字を指定することもできる。

ExcelのTEXTBEFORE関数の使い方が分からない、という方もいるのではないだろうか。TEXTBEFORE関数は、文字列の一部分を抜き出せる関数の1つである。

本記事では、TEXTBEFORE関数の使い方について解説する。TEXTBEFORE関数で文字列を切り取る方法や、区切り文字がなくてエラーが出る場合の対処法についてまとめた。

TEXTBEFORE関数とは?

TEXTBEFORE関数は、区切り文字を指定することで、その文字よりも手前部分のみを抜き出して表示できる関数である。

たとえば「aaaa@bbb.com」というメールアドレスがある場合、「@」を区切り文字と指定すれば、「@」よりも前の部分である「aaaa」を抜き出すことができる。

TEXTBEFORE関数を使えるのは、Microsoft 365に加入している場合である。TEXTBEFORE関数はMicrosoft 365で追加された新しい関数だ。

■TEXTBEFORE関数の構文

TEXTBEFORE関数の基本的な構文は次のとおり。

  • =TEXTBEFORE({文字列},{区切り文字},{区切り位置},{オプション1},{オプション2},{オプション3})

基本的には、文字列と区切り文字を指定するだけで良い。指定した区切り文字で、文字列を区切ることが可能だ。

3つ目の引数には、区切り位置を指定する。同じ文字が複数存在している場合、何番目にある文字を区切り文字とみなすか、を指定できる。

それ以降のオプションは、指定することで、次のことが可能になる。

  • オプション1:「1」を指定すれば、区切り文字の大文字と小文字を区別しなくなる
  • オプション2:「1」を指定すれば、文字列の末尾を区切り文字とみなせる
  • オプション3:文字列を指定すれば、区切り文字がない場合に返す値を設定できる

TEXTBEFORE関数の使い方

TEXTBEFORE関数の使い方について解説する。

TEXTBEFORE関数で次の5つを行う方法を順番に見ていこう。

  1. 特定文字列よりも前を取り出す
  2. 特定の文字列以前を取り出す
  3. 複数の特定文字列を指定する
  4. 最後の特定文字列より前を取り出す
  5. 特定文字列の大文字と小文字を区別しない

■1.特定文字列よりも前を取り出す

まず、TEXTBEFORE関数の1番基本的な利用方法を解説する。

以下では、「=TEXTBEFORE(A2,”県”)」としている。2つ目の引数には「県」とある。A2の文字列を「県」で区切ろうとしている。

「県」で区切る

実行すると、A2の文字列が「県」によって区切られ、「県」よりも前の「神奈川」のみが表示される。このように、特定文字列よりも前を取り出せるのが、TEXTBEFORE関数だ。

表示

他の行にも関数を反映させると次のようになる。A6は「東京都」となっており、区切り文字が存在しないため、#N/Aエラーが表示される。このエラーの解決策は後ほど解説する。

「県」で区切られた

■2.特定の文字列以前を取り出す

続いて、特定の文字列以前を取り出す方法を解説する。

以下では「=TEXTBEFORE(A2,”県”)&”県”」としている。TEXTBEFORE関数で抜き出した結果に「県」を加えている。「&」は文字列を結合するための記号である。

文字列以前を取り出す

実行すると「神奈川県」と表示される。「県」を含めた都道府県が取得できた。

神奈川県が表示

他の行にも関数を反映させると次のようになる。

他の県も表示

■3.複数の特定文字列を指定する

区切り文字は1つではなく、2つ以上指定することも可能だ。

以下では「=TEXTBEFORE(A2,{“県”,”都”})」としている。「県」と「都」の2つの区切り文字を指定した。

「県」も「都」も対応

実行すると、「神奈川」と表示される。

神奈川と表示

他の行にも関数を反映させる。今回は「都」も区切り文字と設定したため、A6の文字列も問題なく区切られ、「東京」と表示されている。

東京と表示

■4.最後の特定文字列より前を取り出す

3つ目の引数に「-1」を指定することで、特定文字列が複数個ある場合に、最後の文字列を区切り文字とみなすことができる。

以下では「=TEXTBEFORE(A2,” ”,-1)」としている。3つ目の引数に「-1」を指定している。最後の半角スペースを区切り文字とみなす。

最後の半角スペース

実行すると、最後の半角スペースが区切り文字とみなされ、「I am」のみ表示された。

「I am」のみ表示

■5.特定文字列の大文字と小文字を区別しない

続いて、特定文字列の大文字と小文字を区別しないで、両方とも区切り文字とみなす方法を解説する。TEXTBEFOREはデフォルトだと、大文字と小文字を区別する。

以下では「=TEXTBEFORE(A2,”A”)」としている。「A」を区切り文字としている。

「A」を区切り文字

実行すると「A」で文字列が区切られ、前の部分の「I am」だけが表示された。

「I am」だけが表示

では、4つ目の引数に「1」を指定するとどうなるのか。

以下では「=TEXTBEFORE(A2,”A”,,1)」としている。

「1」を指定

実行すると、「a」と「A」が区別されず、両方とも区切り文字とみなされている。そのため、最初の「a」で文字列が区切られている。

このように、4つ目の引数(オプション1)に「1」を指定することで、大文字と小文字を区別しないようにできる。

最初の「a」で区切られる

区切り文字が見つからないときに返す値を設定する方法

以下は、「1.特定文字列よりも前を取り出す」の項目で出力した結果だが、最後に「#N/A」が出てしまっている。「#N/A」が出る原因は、A6には「県」がないためだ。

このように、区切り文字が見つからない場合には「#N/A」が出てしまうが、「#N/A」ではなく、エラーメッセージが出るようにする方法がある。

「#N/A」が表示

以下では「=TEXTBEFORE(A2,”県”,,,,”エラー”)」としている。6つ目の引数(オプション3)に、エラーメッセージを入力している。

エラーメッセージ

実行すると、1行目は通常通り、区切り文字よりも前の文字列が表示される。

神奈川が表示

6行目には「#N/A」ではなく「エラー」と表示されている。

このように、6つ目の引数(オプション3)に文字列を入力することで、エラー時のメッセージを指定できる。

「エラー」と表示

関連記事:Excelでエラー表示しない方法は?「#N/A」などよく見るエラーの原因と対処法

まとめ

本記事では、TEXTBEFORE関数とはなにかについて解説した。最後に、TEXTBEFORE関数の基本的な使い方についてみていこう。

  1. 特定文字列よりも前を取り出す
    例:=TEXTBEFORE(A2,”県”)
  2. 特定の文字列以前を取り出す
    例:=TEXTBEFORE(A2,”県”)&”県”
  3. 複数の特定文字列を指定する
    例:=TEXTBEFORE(A2,{“県”,”都”})
  4. 最後の特定文字列より前を取り出す
    =TEXTBEFORE(A2,” ”,-1)
  5. 特定文字列の大文字と小文字を区別しない
    例:=TEXTBEFORE(A2,”A”,,1)
  6. 区切り文字がない場合にエラーメッセージを返す
    例:=TEXTBEFORE(A2,”県”,,,,”エラー”)

TEXTBEFORE関数は、区切り文字よりも前の部分を抜き出して表示する関数だ。汎用性が高い関数なので、覚えておくと良いだろう。

関連記事:Excelで一部のデータを取り出す時に役立つ「MID関数」の使い方【画像付き】
関連記事:文字列の一部分を取り出す便利な「LEFT関数」の使い方

構成/編集部

@DIMEのSNSアカウントをフォローしよう!

DIME最新号

最新号
2025年11月14日(金) 発売

昭和レトロvs平成レトロ、あなたはどっち派?DIME最新号は、「ヒット商品クロニクル」大特集!あの頃、我々の心を掴んだ人、モノ、コト、懐かしのCM。計300点のロングセラーで学ぶ〝温故知新〟!

人気のタグ

おすすめのサイト

ページトップへ

ABJマークは、この電子書店・電子書籍配信サービスが、著作権者からコンテンツ使用許諾を得た正規版配信サービスであることを示す登録商標(登録番号 第6091713号)です。詳しくは[ABJマーク]または[電子出版制作・流通協議会]で検索してください。