エクセルで文字列を分割する方法|区切り位置とTEXTSPLIT関数で姓名・住所を分ける

エクセル 文字列 分割|1つのセルの文字を複数に分ける 日付・文字列

「姓と名が1つのセルに入っている」「カンマで区切られた文字を、列ごとに分けたい」。こんなときは、「区切り位置」機能を使うと、ボタン操作だけでセルを分割できます。

この記事では、区切り位置の手順と、関数で分割する方法を説明します。

「区切り位置」で文字列を分割する

スペースやカンマなど、決まった文字で区切られている場合に使えます。ここでは、「佐藤 花子」のように、スペースで区切られた氏名を、姓と名に分ける例で説明します。

  1. 分割したい列(例:A列)を選ぶ
  2. 「データ」タブの「区切り位置」をクリックする
  3. 「カンマやタブなどの区切り文字によってフィールドごとに区切られたデータ」を選んで「次へ」をクリックする
  4. 区切り文字(スペース、カンマなど)にチェックを入れて「次へ」をクリックする
  5. 必要に応じて列のデータ形式を選び、「完了」をクリックする
区切り位置でスペース区切りの氏名を姓と名の2列に分割する前後の表を示した図

分割結果は、右隣のセルに書き込まれます。右の列にデータがあるときは、上書きされるので、空き列を用意してから行います。

区切り文字がないとき|文字数で分割する

「1234567」の3桁目で分けたいときなど、区切り文字がない場合は、手順3で「スペースによって右または左に揃えられた固定長フィールドのデータ」を選びます。分割したい位置をクリックして区切り線を入れます。

関数で分割する

TEXTSPLIT関数(Microsoft 365・Excel 2024以降)

TEXTSPLIT関数は、区切り文字を指定して、複数のセルに自動で分割します。元のデータを変更すると、分割結果にも反映されます。

=TEXTSPLIT(A2," ")

スペースで区切った結果が、右のセルに広がって表示されます。区切り文字を変えれば、カンマやスラッシュでも分けられます。

古いバージョンでは、LEFT・RIGHT・FINDを組み合わせる

TEXTSPLITが使えない場合は、スペースの位置をFIND関数で調べ、LEFT関数とMID関数で取り出します。

=LEFT(A2,FIND(" ",A2)-1)
=MID(A2,FIND(" ",A2)+1,100)

1つ目が姓、2つ目が名を取り出す式です。区切りが全角スペースの場合は、” ” の中身も全角スペースにします。

方法元データとの連動対応バージョン
区切り位置しない(値で上書き)すべて
TEXTSPLITするMicrosoft 365・Excel 2024以降
LEFT・MID・FINDするすべて

分割できないときの確認ポイント

  • スペースが全角になっている:区切り文字の指定で、全角スペースにもチェックを入れます
  • 右の列のデータが消えた:区切り位置は右隣のセルを上書きします。事前に空き列を作ります
  • 数字の頭の「0」が消える:手順5で、列のデータ形式を「文字列」にします
  • 日付に変わってしまう:分割後の列のデータ形式を「文字列」にします

まとめ

  • 区切り文字があるときは、「データ」タブの「区切り位置」が簡単
  • 区切り文字がなければ、固定長で位置を指定する
  • 元データと連動させるなら、TEXTSPLIT関数か、LEFT・MID・FINDを使う
  • 分割結果は右隣のセルに入るため、空き列を用意する
  • 0が消えるときは、データ形式を「文字列」にする

氏名や住所などの整理が、手作業よりずっと早く終わります。

コメント

タイトルとURLをコピーしました