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

Excel:区切り文字付きテキストを行に分割する方法

著者Sun変更日

Excel でデータを扱う際、1 つのセルにカンマ、セミコロン、スペースなどの区切り文字で複数の情報がまとめて記録されているケースに、しばしば直面します。たとえば、タグ、氏名、品目コードなどが1 つのセル内に含まれていることがあります。こうしたデータを意味のある分析に活用したり、正確にフィルターをかけたり、あるいは今後の利用に備えて整えるには、これらの区切り文字で区切られた値を個別の行に分割する必要があります。区切り文字で分かれた値を適切に行に展開することで、その後のデータ処理、可視化、レポート作成が格段にシンプルかつ効果的になります。Excel にはさまざまな解決策が用意されており、使用シナリオやExcel のバージョン、ユーザーのスキルレベルに応じて最適な方法を選べます。以下では、Excel で区切り文字付きテキストを複数の行に分割するための包括的なガイドとして、数式、組み込みツール、アドインまで含む実践的なアプローチをいくつかご紹介します。
区切り文字付きテキストを行に分割

VBA を使用して区切り文字付きテキストを行に分割する

区切り文字付きテキストをKutools for Excel で行に分割する

POWER QUERY を使用して区切り文字付きテキストを行に分割する

Excel 数式(TEXTSPLIT、FILTER、SEQUENCE)を使用して区切り文字付きテキストを行に分割する


VBA を使用して区切り文字付きテキストを行に分割する

区切り文字付きのテキストを頻繁に行に分割する必要があり、マクロの使用に慣れている場合は、VBA でこの作業を自動化できます。この方法はすべてのバージョンのExcel で動作し、繰り返し発生する分割作業を効率化したい場合に特に役立ちます。ただし、VBA マクロを実行すると元のデータが変更されるため、特に重要な情報や復元できないデータを含むブックでは、事前にバックアップを保存しておくことを強くお勧めします。

1。「Alt + F11」キーを押して、「Microsoft Visual Basic for Applications」エディターを開きましょう。

2。VBA エディターで、メニューの「挿入」をクリックし、「標準モジュール」を選択して、新しい空白のモジュールを作成します。

3。次のコードを空のモジュールにコピー&ペーストしてください。

VBA:区切り文字付きテキストを行に分割する

Public Sub SplitTextInCellsToRows()
'UpdatebyExtendoffice20220622
    Dim xSRg, xIptRg, xCrRg, xRg As Range
    Dim xSplitChar As String
    Dim xArr As Variant
    Dim xFNum, xFFNum, xRow, xColumn, xNum As Integer
    Dim xWSh As Worksheet
    Set xSRg = Application.InputBox("Select a range:", "Kutools for Excel", , , , , , 8)
    If xSRg Is Nothing Then Exit Sub
    xSplitChar = Application.InputBox("Type delimiter:", "Kutools for Excel", , , , , , 2)
    If xSplitChar = "" Then Exit Sub

    Application.ScreenUpdating = False
    xRow = xSRg.Row
    xColumn = xSRg.Column
    Set xWSh = xSRg.Worksheet
    For xFNum = xSRg.Rows.Count To 1 Step -1
        
        Set xRg = xWSh.Cells.Item(xRow + xFNum - 1, xColumn)
        Debug.Print xRg.Address
        xArr = Split(xRg, xSplitChar)
        For xFFNum = LBound(xArr) To UBound(xArr)
            xRg.EntireRow.Copy
            xRg.Offset(1, 0).EntireRow.Insert Shift:=xlShiftDown
            xRg.Worksheet.Cells(xRow + xFNum, xColumn) = xArr(xFFNum)
        Next
        xRg.EntireRow.Delete
    Next
    Application.CutCopyMode = False
    Application.ScreenUpdating = True
End Sub

4。「F5」キーを押すか「実行」ボタンをクリックしてコードを実行します。プロンプトが表示されたら、区切り文字付きテキストを行に分割したいセル範囲(ヘッダーを除く)を選択し、「OK」をクリックしてください。
データ範囲を選択するVBAコード

5。次のダイアログボックスで、分割に使用する区切り文字(カンマ、セミコロン、スペースなど)を入力してください。たとえば、データがカンマ区切りの場合は「、」を入力し、「OK」をクリックします。
分割に使用する区切り文字を入力

これにより、各区切り文字で区切られた値が新しい行に配置され、関連する他の列のデータも自動的に複製されるため、レコードの整合性が完全に保たれます。
区切り文字付きテキストが行に分割され、関連する他の列も繰り返されています

注意:VBA メソッドは元のデータセットを変更します。マクロを実行する前に、必ずブックを保存するかバックアップを作成してください。また、大規模なデータセットや複雑なブックを使用する場合は、マクロが有効になっており、かつ VBA コードを実行するための必要な権限をお持ちであることをご確認ください。


区切り文字付きテキストをKutools for Excel で行に分割する

コードの記述や実行を避け、グラフィカルなインターフェイスを好むExcel ユーザーのために、Kutools for Excel は区切り文字付きテキストを行に分割する非常に効率的なツールを提供します。このアドインは、数式やスクリプトに深入りすることなく、少量から大量のデータまで簡単に処理したいユーザーに最適です。Kutools はカンマ、セミコロン、スペースなどさまざまな区切り文字をサポートしており、多様なシナリオを手軽にこなせます。関連するすべての列を一貫して再現する、迅速かつエラーの少ない変換が必要な場合に特に役立ちます。

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

Kutools for Excel をインストール後、次の手順に従ってください。

1。「Kutools」タブをクリックし、「結合と分割」からドロップダウンメニューを開いて、「複数行に分割する」を選択してください。下のスクリーンショットをご参照ください。
「データを複数行に分割」機能を探してクリック

2。「複数行に分割する」ダイアログボックスで、以下の手順に従って操作を設定してください。

  1. 「範囲(単一列)」テキストボックスで、分割したい列を指定してください。
  2. データの区切り文字を選択してください。「,」(カンマとスペース)など、カスタムの区切り文字を使用する場合は、「その他」を選んでから、該当する区切り文字を入力してください。
  3. 設定を確認したら、「OK」ボタンをクリックしてください。
    ダイアログボックスでオプションを指定

選択した区切り文字付きテキストは、指定した区切り文字に基づいて即座に複数の行に分割され、他のすべての列は必要に応じて保持されて繰り返されます。
Kutoolsで結果を取得

Kutools をご利用の際は、特に大規模なテーブルでは、確定する前に必ず設定を確認することをおすすめします。また、Kutools では空白セルの処理、カスタム区切り文字の指定、特殊なシナリオ向けの高度な分割機能などもご提供しています。区切り文字付きデータを頻繁に分割される場合は、この方法で大幅な時間と労力を節約できます。

Kutools for Excel— 300 以上の必須ツールでExcel を強化し、作業をより迅速・簡単に。AI 機能を活用して、スマートなデータ処理と生産性の飛躍的な向上を実現します。今すぐ入手


Power Query を使用して区切り文字付きテキストを行に分割する

Power Query は、Excel 2016 以降に標準搭載されており(Excel 2013 では無料のアドインとして利用可能)、強力なデータ変換機能を提供します。特に複雑または大規模なデータの再構成に最適で、クエリステップを通じて再現性とトレーサビリティを確保しながら、区切り文字付きテキストを行に分割できます。インポートしたデータを頻繁に整形する場合、複数の変換アクションを組み合わせる場合、またはソースが更新された際にデータの分割を自動的に反映したい場合には、Power Query がおすすめです。ただし、外部ソース範囲にリンクされたテーブルを操作する際には注意が必要です。また、読み込み後、分割結果は新しいシートに表示されます。

1。元のデータ範囲を選択し、「データ」メニューから「テーブル/範囲から」をクリックしてください。
「データ」>「テーブル/範囲から」をクリック

2。「テーブルの作成」ダイアログで、ヘッダーが含まれる場合は「テーブルにヘッダーが含まれる」をチェックし、「OK」をクリックします。
「テーブルの先頭行は見出しです」をチェック

「Power Query エディター」ウィンドウが開き、データがテーブル形式で表示されます。
データがPower Queryエディター ウィンドウに表示されます

3。区切り文字付きテキストを含む列を選択し、「変換」タブをクリックして、「列の分割」>「区切り文字で」を選択します。
「変換」タブ > 「列の分割」> 「区切り文字で」をクリック

あるいは、列見出しを右クリックし、コンテキストメニューから同じ「列の分割」オプションにアクセスすることも可能です。
列見出しを右クリックして「区切り文字で」を選択

4。「区切り文字で列を分割」ダイアログで、「区切り文字の選択または入力」ドロップダウンからカンマやスペースなどの区切り文字を選択してください。「区切り文字のすべての出現位置で分割」が選択されていることを確認し、「詳細オプション」を展開して分割モードを「行」に設定したうえで、「OK」をクリックします。
ダイアログボックスでオプションを指定

分割を適用すると、選択した区切り文字で区切られた各値が新しい行に移されます。
区切り文字付きテキストが行に分割されました

5。調整が完了したら、「閉じて読み込む」をクリックし、表示されるポップアップダイアログで「保持」をクリックして確定してください。
ダイアログボックスの「保持」ボタンをクリック

新しいワークシートが作成され、そこに分割されたデータが表示されます。
テーブルを含む新しいシートが作成されます

Power Query を使えば、すべての変換ステップが完全に記録されるため、ソースデータが更新されても簡単に再分割でき、複雑な繰り返し作業を自動化できます。ベストプラクティスとして、読み込みを完了する前に、常に区切り文字と列の選択が正しいことを確認してください。エラーや行数の不一致が発生した場合は、「適用されたステップ」ペインで各変換ステップを確認し、トラブルシューティングを行ってください。


Excel 数式(TEXTSPLIT、FILTER、SEQUENCE)を使用して区切り文字付きテキストを行に分割する

Excel 365 およびExcel 2021 以降では、TEXTSPLITFILTER、およびSEQUENCEなどの動的配列関数が利用可能になり、コードやアドインを使わずに区切り文字付きテキストを複数のセルに簡単に分割できます。このアプローチは、ソースデータが変更されるたびに自動更新されるネイティブな数式ベースのソリューションをお探しの方に最適です。ライブダッシュボードやレポート用ブックなど、手動処理よりも自動化と透明性が求められる場面で特に威力を発揮します。ただし、これらの関数は Microsoft 365 およびExcel 2021 以降でのみご利用いただける点にご注意ください。

適用シナリオ:各セルにカンマやセミコロンなどの特定の区切り文字で区切られた値が含まれているリストを、個別の行に連続した値のリストとして変換したい場合。

メリット:ネイティブ対応で即座に更新され、マクロやアドインは不要。結果は、可変的な分割アイテム数に応じて自動的にスピル表示されます。

制限事項:これらの数式はデフォルトで他の列を繰り返しません。関連データと連携させるには追加の手順が必要な場合があり、特に複数列からなるデータセットでは注意が必要です。

1。区切り文字付きデータがセルA2(例:「Apple,Banana,Cherry」)にあると仮定します。新しいシートまたは空の列で、次の数式をB2に入力し、すべての値を個別の行に分割しましょう。

=TRANSPOSE(TEXTSPLIT(A2, ","))

数式を入力したら、Enter キーを押してください。セル内の結果は縦方向にスピル表示され、各果物がそれぞれの行にリストされます。必要に応じて、この数式を他の行にドラッグ/コピーすることも可能です。なお、TEXTSPLIT 関数では区切り文字を指定できるため、データ内の記号に合わせて","を調整してください。

2。区切り文字付きの値を含むセル範囲(例:A2:A4)を分割して、すべての結果を単一の列に一覧表示するには、別の列(例:B2 から開始)に次の配列数式を使用してください。

=LET(flat, TEXTSPLIT(TEXTJOIN(",",TRUE,A2:A4), ","), TRANSPOSE(flat))

この数式は、A2:A4 のすべての値を結合し、指定された区切り文字で分割して個別の行にリストします。Enter キーを押すと、すべての値が縦方向のスピル範囲として表示されます。データで異なる区切り文字を使用している場合は、","を適宜置き換えてください。

TEXTSPLITをご利用にならないユーザーは、FILTERINDEX、およびSEQUENCEを組み合わせた数式群を利用できますが、そのプロセスはより複雑で、柔軟性も低くなります。

これらの数式を適用する際、エラーの原因は通常、区切り文字の不一致、余分なスペース、または標準外のセル書式に起因します。区切り文字を再度ご確認いただき、データ内に不要なスペースが含まれていないかをご確認ください。複数の行または列に適用する際は、既存のデータを上書きしないよう、コピーおよび参照操作に十分ご注意ください。

注:#SPILL!エラーがスピル範囲に表示された場合は、数式の直下に既に入力済みのセルなどがないか確認し、必要に応じて参照を調整してください。動的数式を新しいデータセットに広範囲で適用する際は、作業内容を保存するか、別コピーで作業することを強くおすすめします。

これらの数式ベースのソリューションは、テキストを効率的かつ更新に強く行に分割する方法を提供し、自動化と柔軟性を重視する最新の Excel 環境において優れた選択肢です。


その他の操作(記事)

Excel でグループに基づいて交互に行の色を変更するには?
Excel で行を交互に色付けするのは簡単ですが、次のスクリーンショットのように列 A の値が変わるたびに、グループ単位で交互に行の色を変更しようとしたことはありますか?この記事では、Excel でグループに基づいて交互に行の色を変更する方法をご紹介します。

Excel ファイルサイズを縮小するには?
Excel ファイルが大きすぎると、開くのにも保存するのにも数分かかってしまうことがあります。この問題を解決するため、本チュートリアルでは、不要・未使用のコンテンツや書式を削除して、Excel ファイルのサイズを効果的に縮小する方法をご紹介します。

Excel:ブックマークを作成または挿入する方法
ワークシートやブックに大量のデータがあるとき、特定のデータ範囲に素早くジャンプできるブックマークを設定してみませんか?

Excel で奇数行または偶数行(交互の行/列)をシェーディングするには?
ワークシートをデザインする際、多くの人が視覚的に見やすくするために、奇数行または偶数行(交互の行/列)にシェーディングを施そうとします。この記事では、Excel で奇数行または偶数行/列をシェーディングする2 つの方法をご紹介します。


最高の 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 つ、ライセンス1 つ— 数分でセットアップ可能(MSI 対応)
  • 連携してさらにパワーアップ— Office アプリ全体で生産性が向上
  • 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
  • 最高のお得感— 個別アドイン購入よりお得