Excelでセルの内容を複数行に分割する方法(シナリオ+ツール比較)
このガイドでは、Excelでセルの内容を複数行に分割する方法を説明します。ターゲットとなるセルのみを分割するケース(他の列を無視)と、行内の他のデータを保持しながらセルを分割するケースという、2つの一般的なシナリオに対応します。両方の状況を効果的に処理するためのいくつかの方法が提供されており、組み込みのExcel関数からPower Query、VBA、サードパーティ製プラグインなどの高度なツールまで幅広くカバーしています。
2つの一般的な分割シナリオ
データの分割には、データセット内の他の列を保持する必要があるかどうかによって、いくつかの形式があります。ここでは、主な2つのアプローチを定義し、ニーズに合った最適な方法を選択できるようにします。
シナリオ1:ターゲットセルのみを分割(他の列を無視)
場合によっては、単一セル内の値だけが重要であり、同じ行の関連データを複製せずに読みやすくするために値を複数行に分割したいと考えるかもしれません。
例
A,B,C
結果:
A
B
C
ユースケース:他の列が関係ない軽いデータクリーニングや表示作業。
シナリオ2:セルを分割しつつ他の列データを保持
他にも、分割された各値を元の行のデータとペアにする必要があるケースがあります。基本的には、行を複数のエントリに展開することになります。
例
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スクリプト – 完全なカスタム制御
いつセルを複数行に分割する必要がありますか?
方法に入る前に、なぜセルを分割する必要があるのか理解することが重要です。この操作は、データクリーニング、再構築、または可視化ワークフローの一部としてよく行われます。
典型的な使用例には以下が含まれます:
- 単一列内に複数の値がある場合:タグ、ID、住所などが一緒に保存されている場合。
- ピボットテーブルやグラフ:正規化されたデータ形式でより良く動作します。
- インポートデータのクリーンアップ:特にCRMからのエクスポートやアンケートツールの場合。
- データ標準化:テーブルをデータベース対応および分析準備に整える。
セルを分割するためのステップバイステップの方法
これで自分のシナリオが分かったので、ビルトイン機能から高度な自動化まで、さまざまな方法を使って分割を行う方法を探ってみましょう。技術的な комфортと使用頻度に合った方法を選んでください。
方法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. 範囲を選択し、データ > 取得と変換 > 表/範囲から を選択します。
an
ステップ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をクリックします。/p>
ステップ4. 出力先のセルを選択します。OKをクリックします。
ステップ:シナリオ2(他の列データを保持しながらセルを分割)
ステップ1. 分割したい列を選択します。
ステップ2. Kutools > 結合と分割 > データを行に分割 へ移動します。
ステップ3. 区切り文字を定義します。OKをクリックします。
同じ手順がシナリオ2(他の列データを保持しながらセルを分割)にも適用されます - 結果を見てみましょう。
ターゲット範囲のセル:
結果:
メリット | デメリット |
|
|
注:30日間の試用版はテストのためにすべての機能を利用できます。
方法5:VBAスクリプト – 完全なカスタム制御
プログラミング知識を持つユーザーにとって、VBAは究極の柔軟性を提供します。正確なデータレイアウトやビジネスルールに合わせてスクリプトを調整できます。
適しているシナリオ:シナリオ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が更新されない:ソースデータを変更した後は必ず「更新」をクリックしてください。
- 間違った区切り文字:セミコロンとカンマの間違いが結果全体に影響を与えることがあります。
関連記事:
最高のオフィス業務効率化ツール
🤖 | Kutools AI Aide:データ分析を革新します。主な機能:Intelligent Execution|コード生成|カスタム数式の作成|データの分析とグラフの生成|Kutools Functionsの呼び出し…… |
人気の機能:重複の検索・ハイライト・重複をマーキング|空白行を削除|データを失わずに列またはセルを統合|丸める…… | |
スーパーLOOKUP:複数条件でのVLookup|複数値でのVLookup|複数シートの検索|ファジーマッチ…… | |
高度なドロップダウンリスト:ドロップダウンリストを素早く作成|連動ドロップダウンリスト|複数選択ドロップダウンリスト…… | |
列マネージャー:指定した数の列を追加 |列の移動 |非表示列の表示/非表示の切替| 範囲&列の比較…… | |
注目の機能:グリッドフォーカス|デザインビュー|強化された数式バー|ワークブック&ワークシートの管理|オートテキスト ライブラリ|日付ピッカー|データの統合 |セルの暗号化/復号化|リストで電子メールを送信|スーパーフィルター|特殊フィルタ(太字/斜体/取り消し線などをフィルター)…… | |
トップ15ツールセット:12 種類のテキストツール(テキストの追加、特定の文字を削除など)|50種類以上のグラフ(ガントチャートなど)|40種類以上の便利な数式(誕生日に基づいて年齢を計算するなど)|19 種類の挿入ツール(QRコードの挿入、パスから画像の挿入など)|12 種類の変換ツール(単語に変換する、通貨変換など)|7種の統合&分割ツール(高度な行のマージ、セルの分割など)|… その他多数 |
Kutools for ExcelでExcelスキルを強化し、これまでにない効率を体感しましょう。 Kutools for Excelは300以上の高度な機能で生産性向上と保存時間を実現します。最も必要な機能はこちらをクリック...
Office TabでOfficeにタブインターフェースを追加し、作業をもっと簡単に
- Word、Excel、PowerPointでタブによる編集・閲覧を実現。
- 新しいウィンドウを開かず、同じウィンドウの新しいタブで複数のドキュメントを開いたり作成できます。
- 生産性が50%向上し、毎日のマウスクリック数を何百回も削減!
全てのKutoolsアドインを一つのインストーラーで
Kutools for Officeスイートは、Excel、Word、Outlook、PowerPoint用アドインとOffice Tab Proをまとめて提供。Officeアプリを横断して働くチームに最適です。





- オールインワンスイート — Excel、Word、Outlook、PowerPoint用アドインとOffice Tab Proが含まれます
- 1つのインストーラー・1つのライセンス —— 数分でセットアップ完了(MSI対応)
- 一括管理でより効率的 —— Officeアプリ間で快適な生産性を発揮
- 30日間フル機能お試し —— 登録やクレジットカード不要
- コストパフォーマンス最適 —— 個別購入よりお得