「RIGHT」タグアーカイブ

【保存版】Excelで文字列を分割する方法(区切り位置&関数)

Excelで大量のデータを扱っていると「氏名を姓と名に分けたい」「住所から都道府県だけ抽出したい」といった場面がよくあります。
そんなときに便利なのが 文字列を分割する方法 です。

Excelには以下の2つの方法があります。

  1. 区切り位置 機能で一括分割

  2. 関数 で動的に分割

さらに Excel 365以降なら TEXTSPLIT 関数 を使うことで一気に処理できます。本記事では、それぞれの使い方をわかりやすく解説します。


1. 区切り位置を使って文字列を分割する方法

「区切り位置」は、セル内の文字列を スペース・カンマ・タブ などの区切り文字で分割し、複数列に展開する機能です。

手順

  1. 分割したいセル範囲を選択

  2. [データ] タブ → [区切り位置] をクリック

  3. 「区切り文字あり」を選んで [次へ]

  4. 区切り文字(スペース、カンマなど)を指定

  5. [完了] を押すと自動で分割

  • 「山田 太郎」 → 「山田」「太郎」に分割

  • 「東京都,新宿区,西新宿」 → 「東京都」「新宿区」「西新宿」に分割

メリット

  • ワンクリックで大量のセルを一気に処理可能

  • 初心者でも簡単

⚠️ デメリット

  • 元データが更新されても自動反映されない


2. 関数を使って文字列を分割する方法

データが更新されても動的に処理したい場合は 関数 を利用します。

代表的な関数

LEFT / RIGHT / MID 関数

  • =LEFT(文字列, 文字数) → 先頭から指定文字数を抽出

  • =RIGHT(文字列, 文字数) → 末尾から指定文字数を抽出

  • =MID(文字列, 開始位置, 文字数) → 任意の位置から文字を抽出

FIND / SEARCH 関数

  • =FIND(" ",A2) → セルA2のスペース位置を検索

  • SEARCH は大文字小文字を区別せず検索可能


3. TEXTSPLIT関数(Excel 365以降)

Excel 365以降では TEXTSPLIT を使えば一発です。

構文

=TEXTSPLIT(文字列, 区切り文字)

 
=TEXTSPLIT("山田 太郎"," ")

→ 「山田」「太郎」に分割

住所の例

=TEXTSPLIT("東京都 新宿区 西新宿"," ")

→ 「東京都」「新宿区」「西新宿」に分割

✅ シンプルで応用も簡単!


4. 古いExcelでTEXTSPLITを代替する方法

Excel 2016 / 2019 など TEXTSPLIT未対応のバージョンでは、LEFT / MID / RIGHT / FIND / LEN の組み合わせで対応できます。

氏名の分割(A2セルが「山田 太郎」の場合)

  • 姓(山田)

=LEFT(A2,FIND(" ",A2)-1)
  • 名(太郎)

=MID(A2,FIND(" ",A2)+1,LEN(A2)-FIND(" ",A2))

住所の分割(E2セルが「東京都 新宿区 西新宿」の場合)

  • 都道府県

=LEFT(E2,FIND(" ",E2)-1)
  • 市区町村

=MID(E2,FIND(" ",E2)+1,FIND(" ",E2,FIND(" ",E2)+1)-FIND(" ",E2)-1)
  • 町域

=RIGHT(E2,LEN(E2)-FIND(" ",E2,FIND(" ",E2)+1))

⚠️ 注意:スペースが「全角」で入力されている場合は、事前に

=SUBSTITUTE(E2," "," ")

で半角に置換してから使うと安定します。


5. 区切り位置と関数の使い分け

  • 一度だけ分割する場合 → 区切り位置が便利

  • 更新されるデータを扱う場合 → 関数を使うのがベスト

  • Excel 365以降のユーザー → TEXTSPLITで最速処理


まとめ

Excelで文字列を分割する方法は大きく分けて以下の3つ:

  • 区切り位置(手早く一括分割)

  • TEXTSPLIT関数(Excel 365以降)(最もシンプル)

  • LEFT / MID / RIGHT 関数の組み合わせ(古いバージョン対応)

環境や目的に合わせて最適な方法を選べば、日常業務がさらに効率化できます。