Excelでセルを分割する(詳細な手順を含む完全ガイド)
Excelでは、セルのデータを分割する必要がある理由はいくつかあります。例えば、生データにフルネームや住所のように複数の情報が1つのセルにまとめられている場合があります。これらのセルを分割することで、異なる種類の情報を分離し、データをより簡単にクリーンアップし、分析することができます。この記事は、特定の区切り文字に基づいてセルを行や列に分割するさまざまな方法を示す包括的なガイドとして役立ちます。
ビデオ
Excelでセルを複数の列に分割する
次のスクリーンショットに示すように、フルネームのリストがあり、各フルネームを名と姓に分割し、分割したデータを別々の列に配置したいとします。このセクションでは、このタスクを達成するための4つの方法を示します。

Text to Columnウィザードを使用してセルを複数の列に分割する
特定の区切り文字に基づいてセルを複数の列に分割するための一般的な方法の1つは、ExcelのText to Columnウィザードです。ここでは、このウィザードを使用して目的の結果を達成する方法をステップバイステップで示します。
ステップ1: 分割したいセルを選択し、Text to Columnsウィザードを開く
この場合、フルネームが含まれている範囲A2:A8を選択します。次に、データタブに移動し、Text to ColumnsをクリックしてText to Columnsウィザードを開きます。
ステップ2: ウィザードで1つずつ手順を設定する
- この3ステップのうちのステップ1ウィザードで、区切り文字オプションを選択し、次へボタンをクリックします。
- この3ステップのうちのステップ2ウィザードで、データの区切り文字を選択し、次へボタンをクリックして続行します。この場合、スペースに基づいてフルネームを名と姓に分割する必要があるため、区切り文字セクションでスペースのチェックボックスのみを選択します。注釈:
- 必要な区切り文字がこのセクションに表示されていない場合は、その他のチェックボックスを選択し、テキストボックスに独自の区切り文字を入力できます。
- 改行でセルを分割するには、その他チェックボックスを選択し、Ctrl + Jキーを一緒に押します。
- 最後のウィザードでは、次のように設定する必要があります:1) 出力先ボックスで、分割したデータを配置するセルを選択します。ここではセルC2を選択します。2) 完了ボタンをクリックします。
結果
選択したセルのフルネームが名と姓に分割され、異なる列に配置されます。

Kutoolsを使用してセルを複数の列に便利に分割する
ご覧のとおり、Text to Columnsウィザードはタスクを完了するために複数のステップを必要とします。より簡単な方法が必要な場合は、Kutools for ExcelのSplit Cells機能が非常にお勧めです。この機能を使用すると、特定の区切り文字に基づいて、1つのダイアログボックスで設定を完了することで、セルを複数の列または行に便利に分割できます。
Kutools for Excelをインストールした後、Kutools > Merge & Split > Split Cellsを選択して、Split Cellsダイアログボックスを開きます。
- 分割したいテキストを含むセルの範囲を選択します。
- Split to Columnsオプションを選択します。
- 選択スペース(または必要な区切り文字)を選択し、OK.
- 出力先のセルを選択し、OKをクリックして、すべての分割データを取得します。
Flash Fillを使用してセルを複数の列に分割する
次に、Flash Fillとして知られる3番目の方法に進みましょう。Excel2013で導入されたFlash Fillは、パターンを検知するとデータを自動的に埋めるように設計されています。このセクションでは、Flash Fill機能を使用して、フルネームから名と姓を1つの列に分離する方法を示します。
ステップ1: 元の列に隣接するセルに最初の分割データを手動で入力する
この場合、列Aのフルネームを別々の名と姓に分割します。最初のフルネームはセルA2にあるので、それに隣接するセルB2を選択し、名を入力します。スクリーンショットを参照してください。

ステップ2: Flash Fillを適用してすべての名を自動的に埋める
セルB2の下のセル(B3)に2番目の名を入力し始めると、Excelはパターンを認識し、残りの名のプレビューを生成します。プレビューを受け入れるにはEnterを押す必要があります。

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

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

- この機能はExcel2013以降のバージョンでのみ利用可能です。
- Flash Fillにアクセスするには、次のいずれかの方法を使用することもできます。
- ショートカットでセルB2に名を入力した後、範囲B2:B8を選択し、Ctrl + Eキーを押して残りの名を自動的に埋めます。
- リボンオプションでセルB2に名を入力した後、範囲B2:B8を選択し、ホームタブのFill > Flash Fillをクリックします。
- ショートカットで
数式を使用してセルを複数の列に分割する
上記の方法は動的ではありません。つまり、ソースデータが変更された場合、同じプロセスを再度実行する必要があります。上記と同じ例を取り上げ、列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番目を変更して1003番目の単語を取得する200(例: 姓)スペースで区切られた。3番目の単語を取得する(例: 姓)スペースで区切られた。
=TRIM(MID(SUBSTITUTE(A2," ",REPT(" ",100)),200,100))
- 200を300、400、500などに変更することで、4番目、5番目、6番目、およびそれ以降の単語を取得できます。
- 次の数式を使用して2番目の単語を返す(例: ミドルネーム)スペースで区切られた。
TEXTSPLIT関数を使用して、特定の区切り文字でセルを列に分割する
Excel for Microsoft365を使用している場合、TEXTSPLIT関数がより推奨されます。次の手順に従ってください。
ステップ1: 結果を出力するセルを選択します。ここではセルC2を選択します。
ステップ2: 以下の数式を入力してEnterを押します。
=TEXTSPLIT(A2," ")
A2のスペースで区切られたすべてのテキストが異なる列に分割されているのがわかります。

ステップ3: 数式をドラッグしてすべての結果を取得する
同じ行の結果セルを選択し、オートフィルハンドルを下にドラッグしてすべての結果を取得します。
- この関数はExcel for Microsoft365でのみ利用可能です。
- この数式では
- A2は分割したいフルネームを含むセルです。
- 引用符で囲まれたスペースは、セルがスペースで分割されることを示します。参照セルと区切り文字を必要に応じて変更できます。
Excelでセルを複数の行に分割する
以下のスクリーンショットに示すように、範囲A2:A4に注文詳細のリストがあり、アイテム、数量、単価、日付などの異なる種類の情報を抽出するためにスラッシュを使用してデータを分割する必要があります。このタスクを達成するために、このセクションでは3つの方法を示します。

TEXTSPLIT関数を使用してセルを複数の行に分割する
Excel for Microsoft365を使用している場合、TEXTSPLIT関数の方法が簡単に役立ちます。次の手順に従ってください。
ステップ1: 結果を出力するセルを選択します。ここではセルB6を選択します。
ステップ2: 以下の数式を入力してEnterを押します。
=TEXTSPLIT(A2,,"/")
A2のすべてのテキストが「スラッシュ」区切り文字に基づいて別々の行に分割されます。

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

- この関数はExcel for Microsoft365でのみ利用可能です。
- 上記の数式では、データに応じて引用符内のスラッシュ/を任意の区切り文字に変更できます。
Kutoolsを使用してセルを複数の行に便利に分割する
ExcelのTEXTSPLIT機能は非常に便利ですが、Excel for Microsoft365ユーザーに限定されています。さらに、列内の複数のセルを分割する場合、結果を得るために各セルに個別の数式を適用する必要があります。対照的に、Kutools for ExcelのSplit Cells機能はすべてのExcelバージョンで動作します。数回のクリックでセルを複数の行または列に一度に分割するための簡単で効率的なソリューションを提供します。
Kutools for Excelをインストールした後、Kutools > Merge & Split > Split Cellsをクリックして、Split Cellsダイアログボックスを開きます。
- 分割したいテキストを含むセルの範囲を選択します。
- Split to Rowsオプションを選択します。
- 必要な区切り文字を選択します(ここではその他オプションを選択し、スラッシュを入力)、次に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.
- 次に表示されるダイアログボックスで、出力範囲を選択する必要があります(ここではセルB6を選択します)、次に OK.
- 最後のダイアログボックスで、セル内容を分割するために使用する区切り文字を入力します(ここではスラッシュを入力します)、次に OK ボタンをクリックします。
結果
選択した範囲のセルが同時に複数の行に分割されます。

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

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

ステップ3: 区切り文字で列を分割を選択する
テーブル – Power Queryエディターウィンドウが表示され、ホームタブのSplit Column > By Delimiterをクリックします。

ステップ4: 区切り文字で列を分割ダイアログボックスを設定する
- 区切り文字を選択または入力するセクションで、テキストを分割するための区切り文字を指定します(ここではカスタムを選択し、テキストボックスにスラッシュ/を入力します)。
- 高度なオプションセクションを展開し(デフォルトでは折りたたまれています)、行オプションを選択します。
- 引用文字セクションで、ドロップダウンリストからなしを選択します。
- クリック OK.
ステップ5: 分割データを保存して読み込む
- この場合、分割データのカスタム出力先を指定する必要があるため、 閉じる & 読み込む > 閉じる & 読み込む先.ヒント: 分割データを新しいワークシートに読み込むには、閉じる & 読み込むオプションを選択します。
- この データのインポート ダイアログボックスで、 既存のワークシート オプションを選択し、分割データを配置するセルを選択し、次に OK.
結果
その後、選択した範囲のすべてのセルが指定された区切り文字で同じ列内の異なる行に分割されます。

結論として、この記事では、Excelでセルを複数の列または行に分割するさまざまな方法を探りました。どのアプローチを選択しても、これらの技術を習得することで、Excelでデータを扱う際の効率が大幅に向上します。探求を続け、自分に最適な方法を見つけてください。
関連する記事
Excelで最初のスペース区切り文字でセルを分割する
このチュートリアルでは、Excelで最初のスペースでセルを分割するのに役立つ2つの数式を示します。
Excelで数字を列に分割する
大きな数字のリストがあり、各セルの数字を個別の桁に分割して異なる列に配置したい場合、このチュートリアルの方法が役立ちます。
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%向上させ、毎日数百回のマウスクリックを減らします!