Excel でセルの内容を複数の行に分割する方法(シナリオ別+ツール比較)
本ガイドでは、Excel でセルの内容を複数の行に分割する方法を詳しく解説します。対象セルのみを分割し、他の列は無視するケースと、セルを分割しながら同一行の他のデータを保持するケース——この2 つの代表的なシナリオを取り上げます。それぞれの状況に最適な解決策をご提案するため、Excel の標準機能から Power Query、VBA、サードパーティ製プラグインといった高度なツールまで、多彩な手法をご紹介します。
2 つの一般的な分割シナリオ
データの分割方法は、データセット内の他の列を保持する必要があるかどうかによって異なります。以下に2 つの主要なアプローチをご紹介し、あなたのニーズに最適な方法を選びやすくします。
シナリオ 1:対象セルのみ分割(他の列を無視)
場合によっては、特定のセル内の値だけが重要であり、同じ行の他のデータを複製せずに読みやすくするため、行を分割したいことがあります。
例
A,B,C
結果:
A
B
C
使用例:他の列とは無関係な、軽量なデータクリーニングや表示タスク。
シナリオ 2:セルを分割しつつ他の列データを保持
別のケースでは、分割後の各値を元の行のデータと組み合わせる必要があります。つまり、1 行が複数のエントリに展開されることになります。
例
USA | A,B,C
結果:
USA | A
USA | B
USA | C
ユースケース:列間の関係性を維持することが不可欠なデータ正規化。
セルの内容を複数行に分割する必要があるのは、どのような場合ですか?
- 方法 1:Excel 標準機能(テキストの列分割+行列の入れ替え貼り付けオプション)
- 方法 2:TRANSPOSE(TEXTSPLIT)関数(Microsoft 365)
- 方法 3:Power Query – 区切り文字で分割して行を展開(Microsoft 2016 以降のバージョン)
- 方法 4:Kutools プラグイン – クリックによる分割
- 方法 5:VBA スクリプト – 完全なカスタム制御
セルの内容を複数行に分割する必要があるのは、どのような場面ですか?
具体的な方法をご紹介する前に、セルを分割する必要性を理解しておくことが重要です。この操作は、データのクリーニング、再構成、または可視化ワークフローの一環として頻繁に行われます。
代表的なユースケースは次のとおりです。
- 1 つの列に複数の値が含まれている場合:たとえば、タグや ID、アドレスなどがまとめて格納されているケース。
- ピボットテーブルまたはチャートには、正規化されたデータ形式の方が適しています。
- インポートデータのクリーンアップ:特に CRM エクスポートやアンケートツールから取り込んだデータをすっきり整理。
- データの標準化:テーブルをデータベース向けかつ分析レディな状態に整えます。
セルを分割するためのステップバイステップの方法
ご自身のシナリオが明確になったところで、Excel の標準機能から高度な自動化まで、さまざまな分割方法をご紹介します。技術的な習熟度や使用頻度に応じて、最適な方法をお選びください。
方法 1:Excel の標準機能(「テキストを列に分割」+「形式を選択して貼り付け」の「行列を入れ替える」オプション)
これは、Excel の組み込み機能のみを使った、シンプルで手動の一時的な方法です。
適用シナリオ:シナリオ 1 対象セルのみを分割(他の列は無視)
手順:
ステップ 1.セルを選択してください。

ステップ 2.データの選択 > 「テキストを列に分割」を選択してください。

ステップ 3.「テキストを列に分割ウィザード」で、
区切り文字付きを選択して、「次へ」をクリックします。

コンマを選択して、「次へ」をクリックします。

出力先のセルを選択して[完了]をクリックします。

これにより、セルの内容がカンマで区切られ、複数の列に分割されます。

ステップ 4.セルの分割を選択し、Ctrl + C キーを押してコピーします。貼り付け先のセルを右クリックし、「選択的貼り付け」の下にある「行列を入れ替える」アイコンをクリックしてください。

内容が行方向に転置されます。

| メリット | デメリット |
|
|
方法 2:TRANSPOSE(TEXTSPLIT())関数(Microsoft 365)
この方法では、TEXTSPLIT 関数(区切り文字に基づいてテキストを分割)と TRANSPOSE 関数を組み合わせることで、分割後の値を行方向に即座に表示します。
適用シナリオ:シナリオ 1 対象セルのみを分割(他の列は無視)
手順:
ステップ 1.縦方向のリストを開始したい空白セルに数式を入力してください。
数式例:セル A1 が行の分割対象となるセルです。
この場合の数式は次のとおりです。
ヒント:データの区切り文字に応じて、「、」を「;」や「|」に変更できます。
手順 2。Enter キーを押してください。

| メリット | デメリット |
|
|
方法 3:Power Query – 区切り文字で分割して行を展開(Microsoft 2016 以降のバージョン)
Power Query は、構造化された繰り返し操作に最適です。強力で更新可能、バッチデータ変換に卓越しています。
対応シナリオ:シナリオ 1(対象セルのみ分割)およびシナリオ 2(セルを分割しつつ他の列データを保持)の両方
手順:シナリオ 1(対象セルのみ分割)を例に説明します
手順 1。範囲を選択し、[データ]タブの[データの取得と変換]から[テーブル/範囲から]をクリックします。

手順 2. 「テーブルの作成」で[OK]をクリックします。(範囲にヘッダーが含まれる場合は、「テーブルにヘッダーが含まれる」をオンにしてください。)

手順 3。Power Query エディターで「区切り文字で列を分割」機能をご利用ください。

手順 4。区切り文字を選択または入力し、「詳細設定」をクリックしてオプションを展開、「行に分割」を選択して「OK」をクリックします。

手順 5。「閉じて読み込む」>「閉じて読み込む」または「閉じて次へ」を選択してください。

閉じて読み込む
機能:クエリ結果をデフォルトの場所に直接読み込みます。

閉じて次へ。。。
機能:読み込みオプションをカスタマイズでき、データの保存場所と保存方法を自由に選択可能。 おすすめ用途:定期的なレポート作成や大規模データセットの処理に最適。
シナリオ 2(他の列のデータを保持しながらセルを分割)にも、同じ手順が適用されます。結果をご確認ください。
対象セル範囲:

結果:

注:Power Query エディター画面で、行に分割したい対象列のみを選択し、「列の分割」にある「区切り文字で分割」をクリックしてください。
| メリット | デメリット |
|
|
ヒント:Trim(トリム)や Clean(クリーン)のステップを追加すれば、空白や特殊文字を簡単に修正できます。
方法 4:Kutools プラグイン – クリックによる分割
セルの分割を頻繁に行う方や GUI ベースのソリューションを好まれる方には、Kutools が最適です。複雑な操作もわずか数回のクリックで簡単にこなせます。
適用シナリオ:シナリオ1(対象セルのみを分割)およびシナリオ2(セルを分割しつつ他の列のデータを保持)のどちらにも最適です。
手順:シナリオ 1(対象セルのみ分割)
手順 1。対象のセルを選択してください。
手順 2。[Kutools] > [結合と分割] > [セルの分割] を選択します。

手順 3。「行に分割」を選択し、区切り文字を指定して「OK」をクリックします。

手順 4。出力先のセルを選択して、「OK」をクリックします。


手順:シナリオ 2(セルを分割しつつ他の列データを保持)
手順 1。分割したい列を行ごとに選択します。
手順 2。[Kutools]>[結合と分割]>[複数行に分割する]に移動します。

手順 3。区切り文字を指定し、「OK」をクリックします。


シナリオ 2(他の列のデータを保持しながらセルを分割)にも、同じ手順が適用されます。結果をご確認ください。
対象セル範囲:

結果:

| メリット | デメリット |
|
|
注:30 日間のトライアル版では、すべての機能をじっくりとお試しいただけます。
方法 5:VBA スクリプト – 完全なカスタム制御
プログラミング知識をお持ちのユーザーにとって、VBA は最高レベルの柔軟性を提供します。スクリプトをカスタマイズして、 precisely お望みのデータレイアウトやビジネスルールにぴったり合わせることが可能です。
適用シナリオ:シナリオ1(対象セルのみを分割)とシナリオ2(セルを分割しつつ他の列のデータを保持)の両方に最適です。
手順:
手順 1。Alt + F11 キーを押して、VBA エディターを開きます。
手順 2。[挿入]>[標準モジュール]をクリックします。

手順 3。以下の VBA コードをコピーして貼り付けてください。
シナリオ 1 対象セルのみ分割
'Update by Extendoffice
Sub SplitCellToRows_Simple()
Dim InputCell As Range
Dim Values As Variant
Dim i As Long
Set InputCell = Range("A1") ' change A1 to your target cell
Values = Split(InputCell.Value, ",")
For i = 0 To UBound(Values)
InputCell.Offset(i, 1).Value = Trim(Values(i))
Next i
End Sub

シナリオ2 セルを分割しつつ他の列データを保持
'Update by Extendoffice
Sub SplitRowsWithOtherColumns()
Dim ws As Worksheet
Dim LastRow As Long, i As Long
Dim arr As Variant, j As Long
Dim SplitVals As Variant
Dim CurrentRow As Long
Set ws = ActiveSheet
LastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
For i = LastRow To 2 Step -1
If InStr(ws.Cells(i, 2).Value, ",") > 0 Then
SplitVals = Split(ws.Cells(i, 2).Value, ",")
For j = UBound(SplitVals) To 1 Step -1
ws.Rows(i + 1).Insert Shift:=xlDown
ws.Cells(i + 1, 1).Value = ws.Cells(i, 1).Value
ws.Cells(i + 1, 2).Value = Trim(SplitVals(j))
Next j
ws.Cells(i, 2).Value = Trim(SplitVals(0))
End If
Next i
End Sub

注:この VBA スクリプトは、データが A 列~B 列にあり、分割対象の値が B 列にある場合にのみ動作するように設定されています。
| デメリット |
|
💡ヒント:
- マクロを実行する前に、必ずデータをバックアップしてください。
- スクリプト内の「、」を、実際の区切り文字(例:セミコロンの場合は「;」、パイプ文字の場合は「|」)に置き換え、データ形式に合わせてください。
よくある問題
- 空白行または列:末尾の区切り文字や隠しスペースが原因であることが多いです。
- 結合されたエラーチェック:開始前にセルの結合を解除してください。
- Power Query が更新されない?ソースデータを変更した後は、必ず「更新」をクリックしてください。
- 区切り文字の誤り:セミコロンとコンマを間違えると、結果全体が大きく狂ってしまうことがあります。
関連記事:
最高の 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 つ、ライセンス1 つ— 数分でセットアップ可能(MSI 対応)
- 連携してさらにパワーアップ— Office アプリ全体で生産性が向上
- 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
- 最高のお得感— 個別アドイン購入よりお得



