メインコンテンツへスキップ

Excelでセルを分割する(詳細な手順を含む完全ガイド)

Author: Siluvia Last Modified: 2025-05-23

Excelでは、セルのデータを分割する必要がある理由はいくつかあります。例えば、生データにフルネームや住所のように複数の情報が1つのセルにまとめられている場合があります。これらのセルを分割することで、異なる種類の情報を分離し、データをより簡単にクリーンアップし、分析することができます。この記事は、特定の区切り文字に基づいてセルを行や列に分割するさまざまな方法を示す包括的なガイドとして役立ちます。


ビデオ


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

次のスクリーンショットに示すように、フルネームのリストがあり、各フルネームを名と姓に分割し、分割したデータを別々の列に配置したいとします。このセクションでは、このタスクを達成するための4つの方法を示します。

example of splitting cells into multiple columns

Text to Columnウィザードを使用してセルを複数の列に分割する

特定の区切り文字に基づいてセルを複数の列に分割するための一般的な方法の1つは、ExcelのText to Columnウィザードです。ここでは、このウィザードを使用して目的の結果を達成する方法をステップバイステップで示します。

ステップ1: 分割したいセルを選択し、Text to Columnsウィザードを開く

この場合、フルネームが含まれている範囲A2:A8を選択します。次に、データタブに移動し、Text to ColumnsをクリックしてText to Columnsウィザードを開きます。

click Text to Columns under the Data tab

ステップ2: ウィザードで1つずつ手順を設定する
  1. この3ステップのうちのステップ1ウィザードで、区切り文字オプションを選択し、次へボタンをクリックします。
    select the Delimited option in the first step
  2. この3ステップのうちのステップ2ウィザードで、データの区切り文字を選択し、次へボタンをクリックして続行します。
    この場合、スペースに基づいてフルネームを名と姓に分割する必要があるため、区切り文字セクションでスペースのチェックボックスのみを選択します。
    select the delimiters for your data in the second step
    注釈:
    • 必要な区切り文字がこのセクションに表示されていない場合は、その他のチェックボックスを選択し、テキストボックスに独自の区切り文字を入力できます。
    • 改行でセルを分割するには、その他チェックボックスを選択し、Ctrl + Jキーを一緒に押します。
      options to split cells by line break
  3. 最後のウィザードでは、次のように設定する必要があります:
    1) 出力先ボックスで、分割したデータを配置するセルを選択します。ここではセルC2を選択します。
    2) 完了ボタンをクリックします。
    select a cell to place the split data in the last step
結果

選択したセルのフルネームが名と姓に分割され、異なる列に配置されます。

cell values are separated into separate columns

Kutoolsを使用してセルを複数の列に便利に分割する

ご覧のとおり、Text to Columnsウィザードはタスクを完了するために複数のステップを必要とします。より簡単な方法が必要な場合は、Kutools for ExcelSplit Cells機能が非常にお勧めです。この機能を使用すると、特定の区切り文字に基づいて、1つのダイアログボックスで設定を完了することで、セルを複数の列または行に便利に分割できます。

Kutools for Excelは、300以上の高度な機能を提供し、複雑なタスクを簡素化し、創造性と効率を向上させます。 AI機能と統合され、Kutoolsは正確にタスクを自動化し、データ管理を容易にします。Kutools for Excelの詳細情報...無料トライアル...

Kutools for Excelをインストールした後Kutools > Merge & Split > Split Cellsを選択して、Split Cellsダイアログボックスを開きます。

  1. 分割したいテキストを含むセルの範囲を選択します。
  2. Split to Columnsオプションを選択します。
  3. 選択スペース(または必要な区切り文字)を選択し、OK.
    specify the options in the dialog box
  4. 出力先のセルを選択し、OKをクリックして、すべての分割データを取得します。
: この機能を使用するには、コンピュータにKutools for Excelがインストールされている必要があります。Kutools for Excelをダウンロードして、制限なしの30日間の無料試用をお試しください

Flash Fillを使用してセルを複数の列に分割する

次に、Flash Fillとして知られる3番目の方法に進みましょう。Excel2013で導入されたFlash Fillは、パターンを検知するとデータを自動的に埋めるように設計されています。このセクションでは、Flash Fill機能を使用して、フルネームから名と姓を1つの列に分離する方法を示します。

ステップ1: 元の列に隣接するセルに最初の分割データを手動で入力する

この場合、列Aのフルネームを別々の名と姓に分割します。最初のフルネームはセルA2にあるので、それに隣接するセルB2を選択し、名を入力します。スクリーンショットを参照してください。

 enter the first split data adjacent to the original column
ステップ2: Flash Fillを適用してすべての名を自動的に埋める

セルB2の下のセル(B3)に2番目の名を入力し始めると、Excelはパターンを認識し、残りの名のプレビューを生成します。プレビューを受け入れるにはEnterを押す必要があります。

Apply the Flash Fill feature
ヒント:2番目のセルにデータを入力したときにExcelがパターンを認識しない場合、そのセルのデータを手動で入力し、次に3番目のセルに進んでください。3番目の連続したセルにデータを入力し始めると、パターンが認識されるはずです。

これで、列Aのフルネームのすべての名が列Bに分離されました。

 all first names are extracted
ステップ3: 別の列にフルネームの姓を取得する

上記のステップ1と2を繰り返して、列Aのフルネームから姓を名の列の隣に分割します。

結果
repeat the steps to get last names of full names in another column
注釈:
  • この機能はExcel2013以降のバージョンでのみ利用可能です。
  • Flash Fillにアクセスするには、次のいずれかの方法を使用することもできます。
    • ショートカットで
      セルB2に名を入力した後、範囲B2:B8を選択し、Ctrl + Eキーを押して残りの名を自動的に埋めます。
      access the Flash Fill by shortcut
    • リボンオプションで
      セルB2に名を入力した後、範囲B2:B8を選択し、ホームタブのFill > Flash Fillをクリックします。
      access the Flash Fill by ribbon option

数式を使用してセルを複数の列に分割する

上記の方法は動的ではありません。つまり、ソースデータが変更された場合、同じプロセスを再度実行する必要があります。上記と同じ例を取り上げ、列Aにリストされているフルネームを別々の名と姓に分割し、ソースデータの変更に伴って分割データが自動的に更新されるようにするには、次の数式のいずれかを試してください。

sample of splitting cells into multiple columns
LEFT、RIGHT、MIDなどの関数を使用して、1つずつ最初、2番目、3番目のテキストを分割します。これらはすべてのExcelバージョンで利用可能です。
Text To Columnウィザードと同様に機能し、Excel for Microsoft365でのみ利用可能な新しい関数です。

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

このセクションで提供される数式はすべてのExcelバージョンで利用可能です。数式を適用するには、次の手順に従います。

ステップ1: 最初の区切り文字の前のテキストを抽出する(この場合は名)

  1. 名を出力するセル(この場合はC2)を選択し、次の数式を入力してEnterを押して、A2の名を取得します。
    =LEFT(A2,SEARCH(" ",A2)-1)
    Extract the text before the first delimiter
  2. この結果セルを選択し、そのオートフィルハンドルを下にドラッグして、残りの名を取得します。
     drag its AutoFill Handle down to get the rest of the first names

ステップ2: 最初の区切り文字の後のテキストを抽出する(この場合は姓)

  1. 姓を出力するセル(この場合はD2)を選択し、次の数式を入力してEnterを押して、A2の姓を取得します。
    =RIGHT(A2,LEN(A2)-SEARCH(" ",A2))
    Extract the text after the first delimiter
  2. この結果セルを選択し、そのオートフィルハンドルを下にドラッグして、残りの姓を取得します。
    drag its AutoFill Handle down to get the rest of the last names
注釈:
  • 上記の数式では:
    • A2は分割したいフルネームを含むセルです。
    • 引用符で囲まれたスペースは、セルがスペースで分割されることを示します。参照セルと区切り文字を必要に応じて変更できます。
  • セルがスペースで区切られた2つ以上のテキストを含む場合分割する必要がある場合、上記の2番目の数式は誤った結果を返します。スペースで区切られた2番目、3番目、最大でN番目の値を正しく分割するために追加の数式が必要です。
    • 次の数式を使用して2番目の単語を返す(例: ミドルネーム)スペースで区切られた。
      =TRIM(MID(SUBSTITUTE(A2," ",REPT(" ",100)),100,100))
      another formula to return the second word if there  are more than two texts in a cell
    • 2番目を変更して1003番目の単語を取得する200(例: 姓)スペースで区切られた。3番目の単語を取得する(例: 姓)スペースで区切られた。
      =TRIM(MID(SUBSTITUTE(A2," ",REPT(" ",100)),200,100))
       formula to return the third word
    • 200を300400500などに変更することで、4番目、5番目、6番目、およびそれ以降の単語を取得できます。
TEXTSPLIT関数を使用して、特定の区切り文字でセルを列に分割する

Excel for Microsoft365を使用している場合、TEXTSPLIT関数がより推奨されます。次の手順に従ってください。

ステップ1: 結果を出力するセルを選択します。ここではセルC2を選択します。

ステップ2: 以下の数式を入力してEnterを押します。

=TEXTSPLIT(A2," ")

A2のスペースで区切られたすべてのテキストが異なる列に分割されているのがわかります。

Use the TEXTSPLIT function to split cells into columns

ステップ3: 数式をドラッグしてすべての結果を取得する

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

注釈:
  • この関数はExcel for Microsoft365でのみ利用可能です。
  • この数式では
    • A2は分割したいフルネームを含むセルです。
    • 引用符で囲まれたスペースは、セルがスペースで分割されることを示します。参照セルと区切り文字を必要に応じて変更できます。

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

以下のスクリーンショットに示すように、範囲A2:A4に注文詳細のリストがあり、アイテム、数量、単価、日付などの異なる種類の情報を抽出するためにスラッシュを使用してデータを分割する必要があります。このタスクを達成するために、このセクションでは3つの方法を示します。

sample of splitting cells into multiple rows

TEXTSPLIT関数を使用してセルを複数の行に分割する

Excel for Microsoft365を使用している場合、TEXTSPLIT関数の方法が簡単に役立ちます。次の手順に従ってください。

ステップ1: 結果を出力するセルを選択します。ここではセルB6を選択します。

ステップ2: 以下の数式を入力してEnterを押します。

=TEXTSPLIT(A2,,"/")

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

Split cells into multiple rows with TEXTSPLIT function

セルA3およびA4のデータをスラッシュに基づいて個別の行に分割するには、以下の適切な数式でステップ1と2を繰り返すだけです。

C6の数式:

=TEXTSPLIT(A3,,"/")

D6の数式:

=TEXTSPLIT(A4,,"/")

結果

result of getting the separated values in multiple rows
注釈:
  • この関数はExcel for Microsoft365でのみ利用可能です。
  • 上記の数式では、データに応じて引用符内のスラッシュ/を任意の区切り文字に変更できます。

Kutoolsを使用してセルを複数の行に便利に分割する

ExcelのTEXTSPLIT機能は非常に便利ですが、Excel for Microsoft365ユーザーに限定されています。さらに、列内の複数のセルを分割する場合、結果を得るために各セルに個別の数式を適用する必要があります。対照的に、Kutools for ExcelSplit Cells機能はすべてのExcelバージョンで動作します。数回のクリックでセルを複数の行または列に一度に分割するための簡単で効率的なソリューションを提供します。

Kutools for Excelは、300以上の高度な機能を提供し、複雑なタスクを簡素化し、創造性と効率を向上させます。 AI機能と統合され、Kutoolsは正確にタスクを自動化し、データ管理を容易にします。Kutools for Excelの詳細情報...無料トライアル...

Kutools for Excelをインストールした後Kutools > Merge & Split > Split Cellsをクリックして、Split Cellsダイアログボックスを開きます。

  1. 分割したいテキストを含むセルの範囲を選択します。
  2. Split to Rowsオプションを選択します。
  3. 必要な区切り文字を選択します(ここではその他オプションを選択し、スラッシュを入力)、次にOK.
    specify the options in the dialog box
  4. 出力先のセルを選択し、OKをクリックして、すべての分割データを取得します。
: この機能を使用するには、コンピュータにKutools for Excelがインストールされている必要があります。Kutools for Excelをダウンロードして、制限なしの30日間の無料試用をお試しください

VBAコードを使用してセルを複数の行に分割する

このセクションでは、Excelでセルを複数の行に簡単に分割するためのVBAコードを提供します。次の手順に従ってください。

ステップ1: Microsoft Visual Basic for Applicationsウィンドウを開く

Alt + F11キーを押してこのウィンドウを開きます。

ステップ2: モジュールを挿入し、VBAコードを入力する

挿入 > モジュールをクリックし、次に以下のVBAコードをモジュール(コード)ウィンドウにコピーして貼り付けます。

copy and paste the code into the module

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 code to select the data to split
  2. 次に表示されるダイアログボックスで、出力範囲を選択する必要があります(ここではセルB6を選択します)、次に OK.
    vba code to select the output range
  3. 最後のダイアログボックスで、セル内容を分割するために使用する区切り文字を入力します(ここではスラッシュを入力します)、次に OK ボタンをクリックします。
    vba code to enter the delimiter to split the cell contents based on
結果

選択した範囲のセルが同時に複数の行に分割されます。

Cells in the selected range are split into multiple rows

Power Queryを使用してセルを複数の行に分割する

特定の区切り文字でセルを複数の行に分割する別の方法は、Power Queryを使用することです。これにより、ソースデータに応じて分割データが動的に変化することもできます。この方法の欠点は、完了するのに複数のステップが必要なことです。どのように機能するかを見てみましょう。

ステップ1: 複数の行に分割したいセルを選択し、データ > テーブル/範囲からを選択します。
 select Data > From Table / Range
ステップ2: 選択したセルをテーブルに変換する

選択したセルがExcelテーブル形式でない場合、 テーブルの作成 ダイアログボックスが表示されます。このダイアログボックスでは、Excelが選択したセル範囲を正しく選択したかどうかを確認し、テーブルにヘッダーがあるかどうかをマークし、次に OK ボタンをクリックします。
選択したセルがExcelテーブルの場合、ステップ3に進みます。

Convert the selected cells to table
ステップ3: 区切り文字で列を分割を選択する

テーブル – Power Queryエディターウィンドウが表示され、ホームタブのSplit Column > By Delimiterをクリックします。

Choose Split Column By Delimiter
ステップ4: 区切り文字で列を分割ダイアログボックスを設定する
  1. 区切り文字を選択または入力するセクションで、テキストを分割するための区切り文字を指定します(ここではカスタムを選択し、テキストボックスにスラッシュ/を入力します)。
  2. 高度なオプションセクションを展開し(デフォルトでは折りたたまれています)、行オプションを選択します。
  3. 引用文字セクションで、ドロップダウンリストからなしを選択します。
  4. クリック OK.
    Configure the Split Column by Delimiter dialog box
ステップ5: 分割データを保存して読み込む
  1. この場合、分割データのカスタム出力先を指定する必要があるため、 閉じる & 読み込む > 閉じる & 読み込む先.
    Save and load the split data
    ヒント: 分割データを新しいワークシートに読み込むには、閉じる & 読み込むオプションを選択します。
  2. この データのインポート ダイアログボックスで、 既存のワークシート オプションを選択し、分割データを配置するセルを選択し、次に OK.
    choose the Existing worksheet option, and select a cell to locate the split data
結果

その後、選択した範囲のすべてのセルが指定された区切り文字で同じ列内の異なる行に分割されます。

all cells in the selected range are split into different rows

結論として、この記事では、Excelでセルを複数の列または行に分割するさまざまな方法を探りました。どのアプローチを選択しても、これらの技術を習得することで、Excelでデータを扱う際の効率が大幅に向上します。探求を続け、自分に最適な方法を見つけてください。

最高のオフィス生産性ツール

🤖 Kutools AI アシスタント: データ分析を革命化する: インテリジェント実行   |  コード生成  |  カスタム数式の作成  |  データを分析しグラフを生成  |  拡張機能を呼び出す
人気の機能: 重複を見つけてハイライトまたはマーキング   |  空白行を削除   |  データを失わずに列またはセルを統合   |   丸める ...
スーパーLOOKUP: 複数条件のVLookup    複数値のVLookup  |   複数シートの検索   |   ファジーマッチ ....
高度なドロップダウンリスト: ドロップダウンリストを迅速に作成   |  依存ドロップダウンリスト   |  マルチセレクトドロップダウンリスト ....
列管理: 特定の数の列を追加  |  列を移動  |  非表示列の可視ステータスを切り替え  |  範囲と列を比較 ...
注目の機能: グリッドフォーカス   |  デザインビュー   |   強化された数式バー    ワークブック & ワークシート管理   |  オートテキスト ライブラリ (Auto Text)   |  日付ピッカー   |  データの統合   |  セルの暗号化/復号化    リストで電子メールを送信   |  スーパーフィルター   |   特殊フィルタ (太字/斜体/取り消し線をフィルタリング...) ...
トップ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%向上させ、毎日数百回のマウスクリックを減らします!