Excelで文字列を分割したい、必要な部分だけ抽出したい。そんなときは、まず関数で処理するのかメニューの「区切り位置」機能を使うのかを決めるのが最短です。仕事中によくあるのは、氏名の姓名分割、メールアドレスや住所の一部抜き出し、商品コードの先頭や末尾の切り出しですね。この記事では、すぐ使える関数とクリック手順を先にまとめて、そのあとでつまずきやすいポイントまで分かりやすく整理します。

まず結論:Excelで文字列を分割・抽出する方法

文字列の抽出はLEFTRIGHTMID、区切り文字で分割するならTEXTBEFORETEXTAFTERTEXTSPLIT、クリック操作ならデータタブ → 区切り位置が最速です。
  • 先頭から抽出:=LEFT(A2,3)
  • 末尾から抽出:=RIGHT(A2,4)
  • 途中から抽出:=MID(A2,5,3)
  • 指定文字の前を抽出:=TEXTBEFORE(A2,"-")
  • 指定文字の後を抽出:=TEXTAFTER(A2,"-")
  • 区切り文字で分割:=TEXTSPLIT(A2,",")
  • クリックで分割:データタブ → 区切り位置

新しいExcelを使っているならTEXTBEFOREやTEXTSPLITがかなり便利です。古いExcelでもLEFT、RIGHT、MID、FINDを組み合わせればほぼ対応できますよ。

文字列を抽出する基本関数

LEFT関数:左から必要な文字だけ取り出す

先頭3文字だけ必要、部署コードだけ抜き出したい、という場面で使います。

  • 式の形:=LEFT(対象セル, 文字数)
  • 例:=LEFT(A2,3)
  • 結果:A2の左から3文字を抽出

商品コードの先頭、郵便番号の前半、固定桁数の番号整理でよく使います。

RIGHT関数:右から必要な文字だけ取り出す

末尾4桁だけ欲しい、拡張子だけ見たい、社員番号の下4桁を抜きたいときに便利です。

  • 式の形:=RIGHT(対象セル, 文字数)
  • 例:=RIGHT(A2,4)
  • 結果:A2の右から4文字を抽出

MID関数:途中の位置から指定文字数だけ抜き出す

文字列の真ん中にある支店コードや日付部分だけ欲しいときに使います。

  • 式の形:=MID(対象セル, 開始位置, 文字数)
  • 例:=MID(A2,5,3)
  • 結果:5文字目から3文字を抽出

開始位置は1文字目を「1」として数えます。ここを0にするとエラーになるので注意しましょう。

区切り文字を使って分割・抽出する方法

TEXTBEFORE関数:指定した文字の前を抽出

たとえば「東京-営業1課」から「東京」だけ欲しい場合にぴったりです。

  • 例:=TEXTBEFORE(A2,"-")
  • 結果:「-」より前の文字列を抽出

TEXTAFTER関数:指定した文字の後を抽出

同じデータから「営業1課」だけ取り出したいときに使えます。

  • 例:=TEXTAFTER(A2,"-")
  • 結果:「-」より後の文字列を抽出

TEXTSPLIT関数:区切り文字ごとに一気に分割

カンマ区切りやスラッシュ区切りのデータを複数列に展開したいならこれが最速です。

  • 例:=TEXTSPLIT(A2,",")
  • 結果:カンマごとに別セルへ分割

CSVのような文字列や、「姓,名」「都道府県/市区町村/番地」などの分解に向いています。

古いExcelでも使える応用パターン

TEXTBEFOREやTEXTAFTERが使えない環境では、FIND関数とLEFT、MIDを組み合わせましょう。

ハイフンより前を抽出する

  • 式:=LEFT(A2,FIND("-",A2)-1)
  • 意味:「-」の位置を探し、その1文字前までを抽出

ハイフンより後を抽出する

  • 式:=MID(A2,FIND("-",A2)+1,LEN(A2))
  • 意味:「-」の次の文字から末尾までを抽出

FINDは指定文字が何文字目にあるかを返します。LENは文字数全体を数える関数です。この2つを覚えておくと、かなり応用が効きますよ。

クリック操作で分割する手順:区切り位置を使う

関数を入れずに、選んだセルの内容を列ごとに分けたいなら「区切り位置」が便利です。1回だけ整形したいときに向いています。

  1. 分割したい文字列が入った列を選択します。
  2. Excel上部のデータタブをクリックします。
  3. 区切り位置をクリックします。
  4. コンマやタブなどの区切り文字によってフィールドごとに区切られたデータを選んで次へをクリックします。
  5. 区切りに使う文字を選びます。よく使うのはカンマスペースその他です。
  6. プレビューで分割位置を確認して次へをクリックします。
  7. 必要なら列のデータ形式を指定します。
  8. 完了をクリックします。

この方法は元データの右側に結果を書き込むので、隣の列にデータがある場合は上書きに注意してください。心配なら先に空き列を作っておくと安心です。

よくある仕事の例で使い分ける方法

  • 氏名を姓と名に分けたい:スペース区切りならTEXTSPLIT、または区切り位置
  • メールアドレスの@より前だけ欲しい:=TEXTBEFORE(A2,"@")
  • ドメインだけ欲しい:=TEXTAFTER(A2,"@")
  • 商品コードの先頭2文字だけ欲しい:=LEFT(A2,2)
  • コードの末尾4桁だけ必要:=RIGHT(A2,4)
  • 固定位置にある日付部分だけ抜き出したい:=MID(A2,開始位置,文字数)

うまくいかない場合のチェックポイント

関数がそのまま文字として表示される

  • セルの表示形式が「文字列」になっていないか確認します。
  • 先頭にシングルクォーテーション「'」が入っていないか確認します。
  • 数式は必ず「=」から始めます。

#VALUE! エラーになる

  • FINDで探している文字が、実際のデータに入っていない可能性があります。
  • 全角ハイフンと半角ハイフンなど、見た目が似ていて別文字のケースがあります。
  • 開始位置や文字数に0以下の値を入れていないか確認しましょう。

思った位置で分割できない

  • スペースが半角ではなく全角になっていることがあります。
  • データの前後に余分な空白があるとズレやすいです。
  • 必要に応じてTRIM関数で余分な空白を削除しましょう。
  • 例:=TRIM(A2)

TEXTBEFOREやTEXTSPLITが使えない

Excelのバージョンによっては新しい関数が使えません。その場合は、LEFT、RIGHT、MID、FIND、LENの組み合わせに切り替えれば大丈夫です。

最後に覚えておくと便利な時短ワザ

  • Ctrl + E:フラッシュフィル。入力パターンをExcelに学習させて分割や整形を補助できます。
  • Ctrl + H:置換。不要な記号やスペースを一気に消したいときに便利です。
  • LEN関数:文字数確認に使えます。MIDの位置調整で役立ちます。
  • SUBSTITUTE関数:特定の文字を別の文字に置き換えたいときに使います。

Excelの文字列処理は、固定位置ならLEFT・RIGHT・MID区切り文字があるならTEXTBEFORE・TEXTAFTER・TEXTSPLIT一度だけ整形するなら区切り位置と覚えておくと迷いません。まずは自分のデータが「何文字目で切るのか」「どの記号で区切るのか」を見極めて、いちばん手早い方法で処理していきましょう。

おすすめの記事