KutoolsforOffice— 1 つのソリューション、5 つの強力なツール。少ない労力で大きな成果。

Excel でのセルの分割(詳細な手順付き完全ガイド)

著者Siluvia変更日

Excel では、セル内のデータを分割する必要が生じるさまざまなケースがあります。たとえば、生データには氏名や住所など、複数の情報を1 つのセルにまとめて記録していることがよくあります。こうしたセルを分割すれば、異なる種類の情報を明確に分離でき、データのクリーニングや分析が格段にスムーズになります。本記事では、特定の区切り文字に基づいてセルの内容を行または列に分割するためのさまざまな方法を、包括的かつわかりやすく解説します。


動画


セルの分割をExcel で複数列に分割

次のスクリーンショットのように、フルネームのリストがあり、それぞれを名と姓に分割して、別々の列に配置したい場合があります。このセクションでは、そのタスクを実現するための4 つの方法をご紹介します。

セルを複数の列に分割する例

セルの分割を「テキストの列への分割」ウィザードで複数列に分割

セルの内容を特定の区切り文字に基づいて複数列に分割するには、Excel のテキストの列への分割ウィザードがよく使われる方法の一つです。ここでは、このウィザードを使って目的の結果を得る手順をステップごとにわかりやすく説明します。

ステップ 1:分割したいセルを選択し、「テキストの列への分割」ウィザードを開く

まず、フルネームを含む範囲 A2:A8を選択します。次に、データタブに移動し、テキストの列への分割をクリックして、テキストの列への分割ウィザードを開きます。

Tabsタブの下にある「区切り文字から列へ」をクリック

手順 2: ウィザードで手順を1 つずつ設定します
  1. ステップ 1 / 3」のウィザードで、区切り位置指定を選択し、次へボタンをクリックしてください。
    最初のステップで「区切り文字付き」オプションを選択
  2. ステップ 2 / 3」ウィザードで、データの区切り文字を選択し、次へボタンをクリックして続行します。
    ここでは、スペースに基づいてフルネームを名と姓に分割する必要があるため、スペースのチェックボックスのみを区切り文字セクションで選択してください。
    2番目のステップでデータの区切り文字を選択
    • このセクションに必要な区切り文字が表示されない場合は、その他チェックボックスをオンにして、テキストボックスに独自の区切り文字を入力できます。
    • セルの分割を改行で行うには、その他チェックボックスをオンにしてから、Ctrl+Jキーを同時押ししてください。
      改行でセルを分割するためのオプション
  3. 最後のウィザードで、次のように設定します。
    1) 出力先ボックスで、データの分割結果を配置するセルを選択します。ここではセル C2 を選択します。2)完了ボタンをクリックします。
    最後のステップで分割データを配置するセルを選択
結果

選択されたセル内のフルネームが名と姓に分割され、それぞれ別の列に配置されます。

セルの値が個別の列に分離される

セルの分割をKutools で複数の列に簡単に分割

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

Kutools for Excelは、複雑な作業を効率化する300 以上の高度な機能を提供し、創造性と生産性を高めます。AI 機能を統合しており、Kutools は正確にタスクを自動化し、データ管理を簡単にします。Kutools for Excel の詳細情報。。。         無料トライアル。。。

Kutools for Excel をインストール後、次のように選択します。Kutools > 結合と分割 > セルの分割をクリックして、セルの分割ダイアログボックスを開きます。

  1. 分割したいテキストを含むセル範囲を選択します。
  2. 列に分割オプションを選択してください。
  3. スペース(または必要な区切り文字)を選択して、OKをクリックします。
    ダイアログボックスでオプションを指定
  4. 出力先のセルを選択して、OKをクリックすれば、すべてのデータが分割されます。
注意:この機能を使用するには、コンピューターにKutools for Excelがインストールされている必要があります。Kutools for Excel をダウンロードして、制限のない30 日間の無料トライアルをご利用ください。

フラッシュフィルでセルの分割を複数の列に分割

次に、3 つ目の方法であるフラッシュフィルをご紹介します。フラッシュフィルはExcel 2013 で導入された機能で、入力パターンを自動的に検出して、素早くデータを補完してくれます。ここでは、この機能を使って1 つの列にあるフルネームを「名」と「姓」にスマートに分ける方法を解説します!

手順 1: 元の列の隣接セルに最初のデータの分割を手動で入力します

ここでは、A 列のフルネームを名と姓に分割します。最初のフルネームはセル A2 にあるので、隣接するセル B2 を選択して名を入力してください。下図をご参照ください。

分割後の最初のデータを元の列の隣に入力
手順 2: フラッシュフィルを適用してすべての名を自動的に入力します

B2 の下のセル(B3)に2 番目の名前を入力し始めると、Excel がパターンを認識して残りの名前のプレビューを表示します。このプレビューを確定するには、Enterキーを押してください。

フラッシュフィル機能を適用
ヒント:2 番目のセルに入力した際にExcel がパターンを認識しない場合は、そのセルのデータを手動で入力してから3 番目のセルに進んでください。連続する3 番目のセルへの入力を開始すると、パターンが正しく認識されるはずです。

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

すべての名(ファーストネーム)が抽出される
手順 3: 別の列に姓を取得します

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

結果
別の列でフルネームの姓(ラストネーム)を取得するために手順を繰り返す
注記
  • この機能はExcel 2013 以降のバージョンでのみ使用できます。
  • 以下のいずれかの方法で、フラッシュフィルにアクセスすることもできます。
    • ショートカットを使用して
      セル B2 に名前を入力した後、範囲 B2:B8 を選択してCtrl+Eキーを押すと、残りの名前が自動的に入力されます。
      ショートカットでフラッシュフィルにアクセス
    • リボンオプションを使用して
      セル B2 に名前を入力した後、範囲 B2:B8 を選択し、ホームタブの塗りつぶしからフラッシュフィルをクリックします。
      リボンのオプションからフラッシュフィルにアクセス

数式でセルの分割を複数の列に分割

上記の方法は動的でないため、ソースデータが変更された際には同じ処理を再度実行する必要があります。前述の例と同様に、A 列のフルネームを名と姓に分割し、ソースデータの変更に応じて自動的に更新されるようにするには、以下の数式のいずれかをお試しください。

セルを複数の列に分割するサンプル
LEFT、RIGHT、MID などの関数を使用して、最初、2 番目、3 番目…と順にテキストを分割します。これらの関数はすべてのバージョンのExcel で利用可能です。
「テキストを列に分割」ウィザードと同じ動作をする、Microsoft 365 版Excel 専用の新関数です。

TEXT 関数を使用して特定の区切り文字でセルの分割を列に分割

このセクションで紹介する数式は、すべてのExcel バージョンでご利用いただけます。数式を適用するには、次の手順に従ってください。

手順 1: 最初の区切り文字(この場合は名)より前のテキストを抽出します

  1. 出力先のセル(ここでは C2)を選択して、次の数式を入力し、Enterキーを押すと、A2 セルの名前部分が取得できます。
    =LEFT(A2,SEARCH(" ",A2)-1)
    最初の区切り文字より前のテキストを抽出
  2. この結果セルを選択し、オートフィルハンドルを下にドラッグして残りの名を取得します。
    オートフィルハンドルを下にドラッグして残りの名(ファーストネーム)を取得

手順 2: 最初の区切り文字(この場合は姓)より後のテキストを抽出します

  1. 出力先のセル(ここでは D2)を選択し、次の数式を入力してEnterキーを押すと、A2 セルから姓を抽出できます。
    =RIGHT(A2,LEN(A2)-SEARCH(" ",A2))
    最初の区切り文字以降のテキストを抽出
  2. この結果セルを選択し、オートフィルハンドルを下にドラッグして残りの姓を取得します。
    オートフィルハンドルを下にドラッグして残りの姓(ラストネーム)を取得
注記
  • 上記の数式について:
    • A2は、分割したいフルネームが入力されているセルです。
    • 半角スペースを引用符で囲むと、セルがスペースで分割されます。参照セルや区切り文字は必要に応じて自由に変更できます。
  • セルにスペースで区切られた2 つ以上のテキストが含まれている場合、上記の2 番目の数式では誤った結果が返されます。スペースで区切られた2 番目、3 番目、N 番目の値を正確に分割するには、追加の数式が必要です。
    • 次の数式を使用して、2 番目の単語を取得します(例:ミドルネーム)。これはスペースで区切られています。
      =TRIM(MID(SUBSTITUTE(A2," ",REPT(" ", 100)),100,100))
      セル内に2つ以上のテキストがある場合に2番目の単語を返す別の数式
    • 2 番目の100200に変更すると、3 番目の単語を取得できます(例:姓)。これはスペースで区切られています。
      =TRIM(MID(SUBSTITUTE(A2," ",REPT(" ", 100)),200,100))
      3番目の単語を返す数式
    • 200 を300400500などに変更すると、4 番目、5 番目、6 番目以降の単語を取得できます
TEXTSPLIT 関数を使用して特定の区切り文字でセルの分割を列に分割

Microsoft 365 向けのExcelをご利用であれば、TEXTSPLIT 関数のご使用をおすすめします。以下の手順に従ってください。

手順 1: 結果を出力するセルを選択します。ここではセル C2 を選択します

手順 2: 以下の数式を入力し、Enter キーを押します

=TEXTSPLIT(A2," ")

A2 のスペースで区切られたテキストが、それぞれ異なる列に正しく分割されていることを確認できます。

TEXTSPLIT関数を使用してセルを列に分割

手順 3: 数式をドラッグしてすべての結果を取得します

同じ行の結果セルを選択し、オートフィルハンドルを下にドラッグして、すべての結果を簡単に取得しましょう。

注記
  • この関数は Microsoft 365 版Excel でのみ使用できます。
  • この数式について
    • A2は、分割したいフルネームが入力されているセルです。
    • 半角スペースを引用符で囲めば、セルがスペースで分割されます。参照セルや区切り文字は、必要に応じて自由に変更できます。

Excel でセルの分割を複数の行に分割

下図のように、A2:A4 の範囲に注文詳細のリストがあり、スラッシュ(/)を使って商品名、数量、単価、日付などの情報を抽出する必要があります。このタスクを実行するため、本セクションでは3 つの方法をご紹介します。

セルを複数の行に分割するサンプル

TEXTSPLIT 関数でセルの分割を複数の行に分割

Microsoft 365 向けのExcelをご利用であれば、TEXTSPLIT 関数で簡単に処理できます。次の手順に従ってください。

手順 1: 結果を出力するセルを選択します。ここではセル B6 を選択します

手順 2: 以下の数式を入力し、Enter キーを押します

=TEXTSPLIT(A2,,"/")

A2 のすべてのテキストが、「スラッシュ」区切り文字に基づいて個別の行に分割されます。

TEXTSPLIT関数でセルを複数の行に分割

セル 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は、複雑な作業を効率化する300 以上の高度な機能を提供し、創造性と生産性を高めます。AI 機能を統合しており、Kutools は正確にタスクを自動化し、データ管理を簡単にします。Kutools for Excel の詳細情報。。。         無料トライアル。。。

Kutools for Excel をインストール後、次のようにクリックします。Kutools > 結合と分割 > セルの分割をクリックして、セルの分割ダイアログボックスを開きます。

  1. 分割したいテキストを含むセル範囲を選択します。
  2. 行に分割オプションを選択してください。
  3. 必要な区切り文字を選択してください(ここでは)その他を選択し、スラッシュ「/」を入力)。その後、OKをクリックします。
    ダイアログボックスでオプションを指定
  4. 出力先のセルを選択して、OKをクリックすれば、すべてのデータが分割されて取得されます。
注意:この機能を使用するには、コンピューターにKutools for Excelがインストールされている必要があります。Kutools for Excel をダウンロードして、制限のない30 日間の無料トライアルをご利用ください。

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キーを押してコードを実行した後、以下の設定を行います。

  1. ダイアログボックスが表示されるので、分割したいデータを含むセル(ここでは範囲 A2:A4)を選択してください。選択後、OKをクリックします。
    分割するデータを選択するVBAコード
  2. 2 つ目のダイアログボックスで、リスト配置エリアとしてセル B6 を選択し、その後 OKをクリックします。
    出力範囲を選択するVBAコード
  3. 最後のダイアログボックスで、セルの内容を分割するために使用する区切り文字(ここではスラッシュ)を入力し、その後 OKボタンをクリックします。
    セルの内容を分割するための区切り文字を入力するVBAコード
結果

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

選択範囲内のセルが複数の行に分割される

Power Query でセルの分割を複数の行に分割

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

手順 1: 複数の行に分割したいセルを選択し、データの選択 > テーブル/範囲から
Tabs > テーブル/範囲からを選択
手順 2: 選択したセルをテーブルに変換します

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

選択したセルをテーブルに変換
手順 3: 区切り文字で列を分割を選択します

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

区切り文字で列を分割を選択
手順 4: 区切り文字による列の分割ダイアログボックスを設定する
  1. 区切り文字の選択または入力」セクションで、テキストを分割するための区切り文字を指定してください(ここでは)カスタムを選択し、テキストボックスにスラッシュ/を入力)。
  2. 折りたたまれている「詳細オプション」セクションを展開し、オプションを選択します。
  3. 引用符文字」セクションで、ドロップダウンリストからなしを選択してください。
  4. OKをクリックしてください。
    区切り文字で列を分割ダイアログボックスを設定
手順 5: データの分割を保存して読み込む
  1. ここでは、データの分割結果をカスタム出力先に指定する必要があるため、閉じて読み込む > 閉じて読み込み先を指定をクリックします。
    分割データを保存して読み込み
    ヒント:データの分割を新しいワークシートに読み込むには、閉じて読み込むオプションを選択します。
  2. データのインポート」ダイアログボックスで、既存のワークシートオプションを選択し、分割したデータを配置するセルを指定してから、OKをクリックしてください。
    既存のワークシートオプションを選択し、分割データを配置するセルを指定
結果

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

選択範囲内のすべてのセルが異なる行に分割される

以上のように、本記事ではExcel でセルの内容を複数の列または行に分割するさまざまな方法をご紹介しました。どの手法を選んでも、これらのテクニックを習得すれば、Excel でのデータ処理効率が大幅に向上します。ぜひ引き続き試行錯誤を重ねて、ご自身に最適な方法を見つけましょう。

最高の Office 生産性ツール

🤖KUTOOLS AI アシスト:次に基づいてデータ分析を革新します:インテリジェント実行   |  コード生成|  カスタム数式作成  |  データ分析とチャート生成|  拡張機能呼び出し
人気機能検索、ハイライト、または重複をマーキング   |  空白行を削除する   |  データを失うことなく列の結合またはセル   |  数式を使用しない四捨五入...
スーパー LOOKUP複数条件 VLookup  |  複数値 VLookup  |   複数シート間 VLookup   |   ファジーマッチ....
高度なドロップダウンリストドロップダウンリストをすばやく作成   |  従属ドロップダウンリスト   |  複数選択ドロップダウンリスト....
列マネージャー特定の数の列を追加|列の移動|非表示列の表示状態を切り替え|範囲と列を比較...
注目の機能グリッドフォーカス   |  デザインビュー   |強化された数式バー   | ワークブックとシートマネージャー   |  リソースライブラリ(オートテキスト)|  日付ピッカー   |  ワークシートの統合  |  暗号化/セルの復号化   | リストからメール送信   |  スーパーフィルター   |   特殊フィルタ(太字のフォントを持つセルをフィルタリング/斜体/取り消し線。。。) 。。。
トップ15 ツールセット12 テキストツールテキストの追加特定の文字を削除、...)|   50+グラフタイプガントチャート、...)|   40+ 実用的数式誕生日に基づいて年齢を計算します、...)|   19 挿入ツールQR コードを挿入パスから画像を挿入、...)|   12 変換ツール単語に変換する為替レートの変換、...)|   7 結合と分割ツール高度な行のマージセルの分割、...)|さらに多数
Kutools はお好みの言語でご利用いただけます。英語、スペイン語、ドイツ語、フランス語、中国語、および40+の他の言語をサポートしています!

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 アプリケーション全体で作業するチームに最適です。

ExcelWordOutlookTabsPowerPoint
  • オールインワンスイート— Excel、Word、Outlook & PowerPoint アドイン + Office Tab Pro
  • インストーラーもライセンスも1 つ— 数分でセットアップ可能(MSI 対応)
  • 連携してさらにパワーアップ— Office アプリケーション全体で生産性が向上
  • 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
  • ベストバリュー— 個別アドイン購入よりお得