Excel でのセルの分割(詳細な手順付き完全ガイド)
Excel では、セル内のデータを分割する必要が生じるさまざまなケースがあります。たとえば、生データには氏名や住所など、複数の情報を1 つのセルにまとめて記録していることがよくあります。こうしたセルを分割すれば、異なる種類の情報を明確に分離でき、データのクリーニングや分析が格段にスムーズになります。本記事では、特定の区切り文字に基づいてセルの内容を行または列に分割するためのさまざまな方法を、包括的かつわかりやすく解説します。
セルの分割をExcel で複数列に分割
次のスクリーンショットのように、フルネームのリストがあり、それぞれを名と姓に分割して、別々の列に配置したい場合があります。このセクションでは、そのタスクを実現するための4 つの方法をご紹介します。

セルの分割を「テキストの列への分割」ウィザードで複数列に分割
セルの内容を特定の区切り文字に基づいて複数列に分割するには、Excel のテキストの列への分割ウィザードがよく使われる方法の一つです。ここでは、このウィザードを使って目的の結果を得る手順をステップごとにわかりやすく説明します。
ステップ 1:分割したいセルを選択し、「テキストの列への分割」ウィザードを開く
まず、フルネームを含む範囲 A2:A8を選択します。次に、データタブに移動し、テキストの列への分割をクリックして、テキストの列への分割ウィザードを開きます。

手順 2: ウィザードで手順を1 つずつ設定します
- 「ステップ 1 / 3」のウィザードで、区切り位置指定を選択し、次へボタンをクリックしてください。

- 「ステップ 2 / 3」ウィザードで、データの区切り文字を選択し、次へボタンをクリックして続行します。ここでは、スペースに基づいてフルネームを名と姓に分割する必要があるため、スペースのチェックボックスのみを区切り文字セクションで選択してください。
注:- このセクションに必要な区切り文字が表示されない場合は、その他チェックボックスをオンにして、テキストボックスに独自の区切り文字を入力できます。
- セルの分割を改行で行うには、その他チェックボックスをオンにしてから、Ctrl+Jキーを同時押ししてください。

- 最後のウィザードで、次のように設定します。
1) 出力先ボックスで、データの分割結果を配置するセルを選択します。ここではセル C2 を選択します。2)完了ボタンをクリックします。
結果
選択されたセル内のフルネームが名と姓に分割され、それぞれ別の列に配置されます。

セルの分割をKutools で複数の列に簡単に分割
ご覧のとおり、「テキストを列に分割」ウィザードでは、タスクを完了するのに複数の手順が必要です。もっとシンプルな方法をお探しであれば、セルの分割機能がKutools for Excelに搭載されており、ぜひおすすめします!この機能を使えば、特定の区切り文字に基づいてセルを複数の列または行に簡単に分割でき、すべての設定がたった1 つのダイアログボックスで完了します。
Kutools for Excel をインストール後、次のように選択します。Kutools > 結合と分割 > セルの分割をクリックして、セルの分割ダイアログボックスを開きます。
- 分割したいテキストを含むセル範囲を選択します。
- 列に分割オプションを選択してください。
- スペース(または必要な区切り文字)を選択して、OKをクリックします。

- 出力先のセルを選択して、OKをクリックすれば、すべてのデータが分割されます。
フラッシュフィルでセルの分割を複数の列に分割
次に、3 つ目の方法であるフラッシュフィルをご紹介します。フラッシュフィルはExcel 2013 で導入された機能で、入力パターンを自動的に検出して、素早くデータを補完してくれます。ここでは、この機能を使って1 つの列にあるフルネームを「名」と「姓」にスマートに分ける方法を解説します!
手順 1: 元の列の隣接セルに最初のデータの分割を手動で入力します
ここでは、A 列のフルネームを名と姓に分割します。最初のフルネームはセル A2 にあるので、隣接するセル B2 を選択して名を入力してください。下図をご参照ください。

手順 2: フラッシュフィルを適用してすべての名を自動的に入力します
B2 の下のセル(B3)に2 番目の名前を入力し始めると、Excel がパターンを認識して残りの名前のプレビューを表示します。このプレビューを確定するには、Enterキーを押してください。

これで、A 列のすべての名が B 列に分割されました。

手順 3: 別の列に姓を取得します
上記の手順 1 および 2 を繰り返して、A 列のフルネームから姓を抽出し、姓名列の隣の列に配置してください。
結果

- この機能はExcel 2013 以降のバージョンでのみ使用できます。
- 以下のいずれかの方法で、フラッシュフィルにアクセスすることもできます。
- ショートカットを使用して
セル B2 に名前を入力した後、範囲 B2:B8 を選択してCtrl+Eキーを押すと、残りの名前が自動的に入力されます。
- リボンオプションを使用して
セル B2 に名前を入力した後、範囲 B2:B8 を選択し、ホームタブの塗りつぶしからフラッシュフィルをクリックします。
- ショートカットを使用して
数式でセルの分割を複数の列に分割
上記の方法は動的でないため、ソースデータが変更された際には同じ処理を再度実行する必要があります。前述の例と同様に、A 列のフルネームを名と姓に分割し、ソースデータの変更に応じて自動的に更新されるようにするには、以下の数式のいずれかをお試しください。

TEXT 関数を使用して特定の区切り文字でセルの分割を列に分割
このセクションで紹介する数式は、すべてのExcel バージョンでご利用いただけます。数式を適用するには、次の手順に従ってください。
手順 1: 最初の区切り文字(この場合は名)より前のテキストを抽出します
- 出力先のセル(ここでは C2)を選択して、次の数式を入力し、Enterキーを押すと、A2 セルの名前部分が取得できます。
=LEFT(A2,SEARCH(" ",A2)-1)
- この結果セルを選択し、オートフィルハンドルを下にドラッグして残りの名を取得します。

手順 2: 最初の区切り文字(この場合は姓)より後のテキストを抽出します
- 出力先のセル(ここでは D2)を選択し、次の数式を入力してEnterキーを押すと、A2 セルから姓を抽出できます。
=RIGHT(A2,LEN(A2)-SEARCH(" ",A2))
- この結果セルを選択し、オートフィルハンドルを下にドラッグして残りの姓を取得します。

- 上記の数式について:
- A2は、分割したいフルネームが入力されているセルです。
- 半角スペースを引用符で囲むと、セルがスペースで分割されます。参照セルや区切り文字は必要に応じて自由に変更できます。
- セルにスペースで区切られた2 つ以上のテキストが含まれている場合、上記の2 番目の数式では誤った結果が返されます。スペースで区切られた2 番目、3 番目、N 番目の値を正確に分割するには、追加の数式が必要です。
- 次の数式を使用して、2 番目の単語を取得します(例:ミドルネーム)。これはスペースで区切られています。
=TRIM(MID(SUBSTITUTE(A2," ",REPT(" ", 100)),100,100))
- 2 番目の100を200に変更すると、3 番目の単語を取得できます(例:姓)。これはスペースで区切られています。
=TRIM(MID(SUBSTITUTE(A2," ",REPT(" ", 100)),200,100))
- 200 を300、400、500などに変更すると、4 番目、5 番目、6 番目以降の単語を取得できます。
- 次の数式を使用して、2 番目の単語を取得します(例:ミドルネーム)。これはスペースで区切られています。
TEXTSPLIT 関数を使用して特定の区切り文字でセルの分割を列に分割
Microsoft 365 向けのExcelをご利用であれば、TEXTSPLIT 関数のご使用をおすすめします。以下の手順に従ってください。
手順 1: 結果を出力するセルを選択します。ここではセル C2 を選択します
手順 2: 以下の数式を入力し、Enter キーを押します
=TEXTSPLIT(A2," ")
A2 のスペースで区切られたテキストが、それぞれ異なる列に正しく分割されていることを確認できます。

手順 3: 数式をドラッグしてすべての結果を取得します
同じ行の結果セルを選択し、オートフィルハンドルを下にドラッグして、すべての結果を簡単に取得しましょう。
- この関数は Microsoft 365 版Excel でのみ使用できます。
- この数式について
- A2は、分割したいフルネームが入力されているセルです。
- 半角スペースを引用符で囲めば、セルがスペースで分割されます。参照セルや区切り文字は、必要に応じて自由に変更できます。
Excel でセルの分割を複数の行に分割
下図のように、A2:A4 の範囲に注文詳細のリストがあり、スラッシュ(/)を使って商品名、数量、単価、日付などの情報を抽出する必要があります。このタスクを実行するため、本セクションでは3 つの方法をご紹介します。

TEXTSPLIT 関数でセルの分割を複数の行に分割
Microsoft 365 向けのExcelをご利用であれば、TEXTSPLIT 関数で簡単に処理できます。次の手順に従ってください。
手順 1: 結果を出力するセルを選択します。ここではセル B6 を選択します
手順 2: 以下の数式を入力し、Enter キーを押します
=TEXTSPLIT(A2,,"/")
A2 のすべてのテキストが、「スラッシュ」区切り文字に基づいて個別の行に分割されます。

セル A3 および A4 のデータをスラッシュに基づいて個別の行に分割するには、手順 1 および 2 を繰り返し、以下の適切な数式を適用してください。
C6 の数式:
=TEXTSPLIT(A3,,"/")
D6 の数式:
=TEXTSPLIT(A4,,"/")
結果

- この関数は Microsoft 365 版Excel でのみ使用できます。
- 上記の数式では、引用符内のスラッシュ(/)を、データに応じて任意の区切り文字に変更できます。
Kutools でセルの分割を複数の行に簡単に分割
Excel の TEXTSPLIT 関数は非常に便利ですが、Microsoft 365 ユーザーに限定されています。さらに、分割対象のセルが複数ある場合、結果を得るには各セルごとに異なる数式を個別に適用する必要があります。一方、Kutools for Excelのセルの分割機能はすべてのExcel バージョンで動作し、わずか数回のクリックで複数のセルを一度に複数の行または列に分割できる、シンプルで効率的なソリューションを提供します。
Kutools for Excel をインストール後、次のようにクリックします。Kutools > 結合と分割 > セルの分割をクリックして、セルの分割ダイアログボックスを開きます。
- 分割したいテキストを含むセル範囲を選択します。
- 行に分割オプションを選択してください。
- 必要な区切り文字を選択してください(ここでは)その他を選択し、スラッシュ「/」を入力)。その後、OKをクリックします。

- 出力先のセルを選択して、OKをクリックすれば、すべてのデータが分割されて取得されます。
VBA コードでセルの分割を複数の行に分割
本セクションでは、Excel でセルの内容を複数の行に簡単に分割できる VBA コードをご紹介します。次の手順に従ってください。
手順 1: Microsoft Visual Basic for Applications ウィンドウを開きます
Alt+F11キーを押すと、このウィンドウが開きます。
手順 2: モジュールを挿入し、VBA コードを入力します
挿入 > モジュールをクリックし、次の VBA コードをモジュール(コード)ウィンドウにコピー&ペーストしてください。

VBA コード:Excel でセルの分割を複数の行に分割
Option Explicit
Sub SplitCellsToRows()
'Updated by Extendoffice 20230727
Dim inputRng As Range
Dim outputRng As Range
Dim cell As Range
Dim splitValues() As String
Dim delimiter As String
Dim i As Long
Dim columnOffset As Long
On Error Resume Next
Set inputRng = Application.InputBox("Please select the input range", "Kutools for Excel", Type:=8) ' Ask user to select input range
If inputRng Is Nothing Then Exit Sub ' If the user clicked Cancel or entered nothing, exit the sub
Set outputRng = Application.InputBox("Please select the output range", "Kutools for Excel", Type:=8) ' Ask user to select output range
If outputRng Is Nothing Then Exit Sub ' If the user clicked Cancel or entered nothing, exit the sub
delimiter = Application.InputBox("Please enter the delimiter to split the cell contents", "Kutools for Excel", Type:=2) ' Ask user for delimiter
If delimiter = "" Then Exit Sub ' If the user clicked Cancel or entered nothing, exit the sub
If delimiter = "" Or delimiter = "False" Then Exit Sub ' If the user clicked Cancel or entered nothing, exit the sub
Application.ScreenUpdating = False
columnOffset = 0
For Each cell In inputRng
If InStr(cell.Value, delimiter) > 0 Then
splitValues = Split(cell.Value, delimiter)
For i = LBound(splitValues) To UBound(splitValues)
outputRng.Offset(i, columnOffset).Value = splitValues(i)
Next i
columnOffset = columnOffset + 1
Else
outputRng.Offset(0, columnOffset).Value = cell.Value
columnOffset = columnOffset + 1
End If
Next cell
Application.ScreenUpdating = True
End Sub
手順 3: VBA コードを実行します
F5キーを押してコードを実行した後、以下の設定を行います。
- ダイアログボックスが表示されるので、分割したいデータを含むセル(ここでは範囲 A2:A4)を選択してください。選択後、OKをクリックします。

- 2 つ目のダイアログボックスで、リスト配置エリアとしてセル B6 を選択し、その後 OKをクリックします。

- 最後のダイアログボックスで、セルの内容を分割するために使用する区切り文字(ここではスラッシュ)を入力し、その後 OKボタンをクリックします。

結果
「範囲を選択してください」のセルが、複数の行に同時に分割されます。

Power Query でセルの分割を複数の行に分割
セルを特定の区切り文字で複数の行に分割するもう1 つの方法は、Power Queryを使うことです。この方法なら、元データが変更されると、自動的に分割結果も動的に更新されます。ただし、手順が複数必要で、完了までに少し時間がかかるのが難点です。実際にどのように動作するか、見てみましょう。
手順 1: 複数の行に分割したいセルを選択し、データの選択 > テーブル/範囲から

手順 2: 選択したセルをテーブルに変換します
選択したセルがExcel テーブル形式でない場合、テーブルの作成ダイアログボックスが表示されます。このダイアログでは、Excel が選択範囲を正しく認識しているかを確認し、テーブルに見出しが含まれる場合はチェックを入れて、OKボタンをクリックしてください。
選択したセルがすでにExcel テーブルの場合は、手順 3 に進んでください。

手順 3: 区切り文字で列を分割を選択します
「テーブル – Power Query エディター」ウィンドウが表示されます。「ホーム」タブから「列の分割 > 区切り文字ごと」をクリックします。

手順 4: 区切り文字による列の分割ダイアログボックスを設定する
- 「区切り文字の選択または入力」セクションで、テキストを分割するための区切り文字を指定してください(ここでは)カスタムを選択し、テキストボックスにスラッシュ/を入力)。
- 折りたたまれている「詳細オプション」セクションを展開し、行オプションを選択します。
- 「引用符文字」セクションで、ドロップダウンリストからなしを選択してください。
- OKをクリックしてください。

手順 5: データの分割を保存して読み込む
- ここでは、データの分割結果をカスタム出力先に指定する必要があるため、閉じて読み込む > 閉じて読み込み先を指定をクリックします。
ヒント:データの分割を新しいワークシートに読み込むには、閉じて読み込むオプションを選択します。 - 「データのインポート」ダイアログボックスで、既存のワークシートオプションを選択し、分割したデータを配置するセルを指定してから、OKをクリックしてください。

結果
すると、「範囲を選択してください」内のすべてのセルが、指定された区切り文字に基づいて同じ列内の異なる行に分割されます。

以上のように、本記事ではExcel でセルの内容を複数の列または行に分割するさまざまな方法をご紹介しました。どの手法を選んでも、これらのテクニックを習得すれば、Excel でのデータ処理効率が大幅に向上します。ぜひ引き続き試行錯誤を重ねて、ご自身に最適な方法を見つけましょう。
関連記事
Excel で最初のスペースでセルを分割する方法
このチュートリアルでは、Excel で最初のスペースに基づいてセルを分割するための2 つの数式をご紹介します。
Excel で数値を列に分割
大きな数値のリストがあって、各セルの数値を個別の桁に分けて異なる列に配置したいときにぴったり!このチュートリアルで紹介する方法が役立ちます。
Excel でセルを斜めに分割
Excel では、スペースやコンマなどでセルの内容を分割するのが一般的です。でも、「セルを斜めに分割」する方法はご存知ですか?この記事では、その解決策をわかりやすくご紹介します!
最高の Office 生産性ツール
| 🤖 | KUTOOLS AI アシスト:次に基づいてデータ分析を革新します:インテリジェント実行 | コード生成| カスタム数式作成 | データ分析とチャート生成| 拡張機能呼び出し… |
| 人気機能:検索、ハイライト、または重複をマーキング | 空白行を削除する | データを失うことなく列の結合またはセル | 数式を使用しない四捨五入... | |
| スーパー LOOKUP:複数条件 VLookup | 複数値 VLookup | 複数シート間 VLookup | ファジーマッチ.... | |
| 高度なドロップダウンリスト:ドロップダウンリストをすばやく作成 | 従属ドロップダウンリスト | 複数選択ドロップダウンリスト.... | |
| 列マネージャー:特定の数の列を追加|列の移動|非表示列の表示状態を切り替え|範囲と列を比較... | |
| 注目の機能:グリッドフォーカス | デザインビュー |強化された数式バー | ワークブックとシートマネージャー | リソースライブラリ(オートテキスト)| 日付ピッカー | ワークシートの統合 | 暗号化/セルの復号化 | リストからメール送信 | スーパーフィルター | 特殊フィルタ(太字のフォントを持つセルをフィルタリング/斜体/取り消し線。。。) 。。。 | |
| トップ15 ツールセット:12 テキストツール(テキストの追加、特定の文字を削除、...)| 50+グラフタイプ(ガントチャート、...)| 40+ 実用的数式(誕生日に基づいて年齢を計算します、...)| 19 挿入ツール(QR コードを挿入、パスから画像を挿入、...)| 12 変換ツール(単語に変換する、為替レートの変換、...)| 7 結合と分割ツール(高度な行のマージ、セルの分割、...)|さらに多数 |
Kutools for Excel でExcel スキルを強化し、これまでにない効率を体験しましょう。Kutools for Excel は、生産性を高め、時間を大幅に節約できる300 以上の高度な機能を提供します。今すぐ最も必要な機能を手に入れよう。。。
Office Tab が Office にタブインターフェースを導入し、作業を大幅に簡単にします
- Word、Excel、PowerPoint、Publisher、Access、Visio、Project で、タブを使った編集と閲覧を有効にします。
- 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いたり作成したりできます。
- 生産性を50%も向上させ、毎日数百回のマウスクリックを削減します!
すべてのKutools アドイン。1 つのインストーラー
Kutools for Officeスイートには、Excel、Word、Outlook、PowerPoint 向けのアドインと Office Tab Pro が含まれており、Office アプリケーション全体で作業するチームに最適です。
- オールインワンスイート— Excel、Word、Outlook & PowerPoint アドイン + Office Tab Pro
- インストーラーもライセンスも1 つ— 数分でセットアップ可能(MSI 対応)
- 連携してさらにパワーアップ— Office アプリケーション全体で生産性が向上
- 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
- ベストバリュー— 個別アドイン購入よりお得
















