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

テキスト文字列を区切り記号で複数の行に分割する - 3 つの簡単な方法

通常、Text to Column 機能を使用して、コンマ、ドット、セミコロン、スラッシュなどの特定の区切り文字でセルの内容を複数の列に分割できます。ただし、区切りセルの内容を複数の行に分割する必要がある場合もあります。下のスクリーンショットに示すように、他の列のデータを繰り返します。 このタスクを Excel で処理するための良い方法はありますか? このチュートリアルでは、Excel でこのジョブを完了するための効果的な方法を紹介します。


ビデオ: テキスト文字列を区切り記号で複数の行に分割する


方法 A: VBA コードで区切られたテキストを複数の行に分割する

このセクションでは、特定の区切り記号で区切られたセルの内容を分割するのに役立つ XNUMX つの VBA コードを紹介します。

コンマ、スペース、セミコロンなどで区切られたテキストを分割します。

コンマ、スペース、セミコロン、スラッシュなどの通常の区切り文字で区切られたテキスト文字列を分割するには、次のコードを使用すると便利です。 以下の手順に従ってください。

 Note: このコード しない サポート アンドゥ、このコードを適用する前にデータをバックアップすることをお勧めします。

手順 1: VBA モジュール エディターを開いてコードをコピーする

1. 使用するシートをアクティブにします。 を押します。 Altキー+ F11 キーを押して アプリケーション向け Microsoft Visual Basic 窓。

2. 開いたウィンドウで、 インセット > モジュール 新しい空のモジュールを作成します。

3. 次に、以下のコードをコピーして空のモジュールに貼り付けます。

VBA コード: 特定の区切り文字 (カンマ、ドット、スペースなど) でテキストを分割する

Sub SplitTextIntoRows()
'UpdatebyExtendoffice
    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)
        xArr = Split(xRg, xSplitChar)
        xIndex = UBound(xArr)
        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(xIndex)
            xIndex = xIndex - 1
        Next
        xRg.EntireRow.Delete
    Next
    Application.CutCopyMode = False
    Application.ScreenUpdating = True
End Sub   

ステップ 2: コードを実行して結果を取得する

1. コードを貼り付けた後、 を押してください F5 このコードを実行するためのキー。 次に、分割する区切りテキストを含むセルを選択することを通知するプロンプト ボックスが表示されます。スクリーンショットを参照してください。

2.次に、をクリックします OKをクリックすると、別のプロンプト ボックスが表示され、データの分割に使用する区切り記号を入力するよう促されます。 ここでは、コンマとスペース (, ) を入力します。スクリーンショットを参照してください。

3.最後に、をクリックします OK ボタン。 これで、選択したテキスト文字列がコンマに基づいて行に分割され、他の相対列データが以下のスクリーンショットのように繰り返されることがわかります。


改行で区切られたテキストの分割

セルの内容が改行で区切られている場合、それらを複数の行に分割するには、別の VBA コードが役立ちます。

 Note: このコード しない サポート アンドゥ このコードを適用する前に、データをバックアップすることをお勧めします。

手順 1: VBA モジュール エディターを開いてコードをコピーする

1。 押す Altキー+ F11 キーを押して アプリケーション向け Microsoft Visual Basic 窓。

2. 開いたウィンドウで、 インセット > モジュール 新しい空のモジュールを作成します。

3. 次に、以下のコードをコピーして空のモジュールに貼り付けます。

VBAコード:改行でテキストを分割

Sub SplitTextIntoRows()
'UpdatebyExtendoffice
    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 = Chr(10)
    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)
        xArr = Split(xRg, xSplitChar)
        xIndex = UBound(xArr)
        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(xIndex)
            xIndex = xIndex - 1
        Next
        xRg.EntireRow.Delete
    Next
    Application.CutCopyMode = False
    Application.ScreenUpdating = True
End Sub 

ステップ 2: コードを実行して結果を取得する

1. コードを貼り付けた後、 を押してください F5 このコードを実行するためのキー。 ポップアウトされたボックスで、分割するセルを選択してください。スクリーンショットを参照してください。

2.次に、をクリックします OK ボタンをクリックすると、選択したセルのデータが下のスクリーンショットのように行に分割されます。


方法B:Kutools for Excelで区切られたテキストを複数の行に分割する10秒

あなたがインストールしている場合 Kutools for Excelそのと データを行に分割 機能を使用すると、指定した任意の区切り文字でテキスト文字列を複数の行に分割できます。 次の手順に従ってください。

ステップ 1: データを行に分割機能を選択する

クツール > マージ&スプリット > データを行に分割、スクリーンショットを参照してください:

ステップ 2: 分割するデータ セルと区切り文字を指定する

ポップアウトされたダイアログ ボックスで、次のオプションを使用します。

  • 1)。 から分割するセルのリストを選択します 範囲 (XNUMX 列) テキストボックス;
  • 2)。 次に、データを区切る区切り文字を選択します。ここでは、私が選択します その他 テキストボックスにコンマとスペース (, ) を入力します。
  • 3)。 最後にクリック OK

これで、区切られたテキスト文字列を持つ選択されたセルが、特定の区切り記号に基づいて複数の行に変換されました。スクリーンショットを参照してください。

 ヒント:元のデータを復元したい場合は、押すだけです Ctrlキー+ Z 元に戻すため。

使いやすい? この機能に興味を持ってください クリックしてダウンロードし、30 日間の無料試用版を入手してください.


方法 C: 区切り文字で区切られたテキストを複数の行に分割する Power Query

Office 365 または Excel 2016 以降のバージョンを実行している場合は、 Power Query は、区切られたテキストを複数の行または列に分割するのに役立つ強力なツールです。 元のデータが変更されたときに分割されたデータを更新する場合に便利です。 完了するには、次の手順を実行してください。

ステップ 1: データテーブルを取得します。 Power Query

1. 使用するデータ範囲を選択し、 且つ > 表から、スクリーンショットを参照してください:

 ヒント: Excel 2019 および Office 365 では、 且つ > テーブル/範囲から.

2.飛び出した状態で テーブルの作成 ダイアログボックスで、をクリックします。 OK ボタンをクリックしてテーブルを作成します。スクリーンショットを参照してください。

3。 今、 Power Query エディター ウィンドウにデータが表示されます。スクリーンショットを参照してください。

ステップ 2: で変換を実行します。 Power Query

1. 分割する列を選択します。 そして、クリック ホーム > 分割列 > 区切り文字による、スクリーンショットを参照してください:

2。 の中に 区切り文字で列を分割 ダイアログボックス:

テキスト文字列をコンマ、スペース、セミコロンなどで分割するには、次のようにしてください。

  • 1)。 からデータを区切る区切り文字を選択します 区切り文字を選択または入力します ドロップダウンリスト;
  • 2)。 選択する 区切り文字が出現するたび で分割 セクション;
  • 3)。 次に、 詳細オプション セクションを展開し、選択します 割る;
  • 4)。 最後にクリック OK このダイアログボックスを閉じます。

テキスト文字列をリンク ブレークで複数の行に分割するには、次のようにしてください。

  • 1)。 選択 カスタム 区切り文字を選択または入力します ドロップダウンリスト;
  • 2)。 から 特殊文字を挿入する ドロップダウンをクリックして 改行、および文字 #(lf) の下のテキスト ボックスに挿入されます。 カスタム 自動的に;
  • 3)。 選択する 区切り文字が出現するたび 分割セクションから;
  • 4)。 次に、 詳細オプション セクションを展開し、選択します 割る;
  • 5)。 最後にクリック OK このダイアログボックスを閉じます。

3. 選択したデータは、下のスクリーンショットのように複数の行に分割されました。

ステップ 3: を出力します。 Power Query Excel テーブルに

1. 次に、データをワークシートに出力する必要があります。 クリックしてください ホーム > 閉じる&ロード > 閉じる&ロード / 閉じる&ロードする、(ここで、クリックします 閉じる&ロード)、スクリーンショットを参照してください:

 ヒント:クリック 閉じる&ロード データを新しいワークシートに出力します。 クリック 閉じる&ロードする オプションを選択すると、データは必要な他のシートに出力されます。

2. 最後に、データが新しいワークシートに読み込まれます。スクリーンショットを参照してください。

 ヒント: 元のテーブルのデータを頻繁に更新する必要がある場合でも、結果テーブルを右クリックして Refresh 新しい結果を動的に取得します。


関連記事:

  • セルの値を複数の列に分割する
  • Excel では、コンマ、スペース、ピリオド、改行などの特定の区切り記号でセル値のリストを複数の列に分割する場合、通常、組み込みの Text To Columns 機能を使用すると、このジョブ ステップを完了することができます。段階的に。 この記事では、セルの値を複数の列または行に簡単かつ迅速に分割するためのいくつかの優れたトリックについて説明します。
  • セルを複数の行または列に分割する
  • セミコロンなど、特定の文字で区切られた複数のコンテンツを含む単一のセルがあり、この長いセルをセミコロンに基づいて複数の行または列に分割したい場合、この場合、簡単な方法はありますか? Excelでそれを解決するには?
  • テキスト文字列を大文字と小文字で分割
  • Excelでは、通常、テキストを列に固定する機能を使用して、固定幅または区切り文字でテキストを分割しますが、テキストを大文字と小文字で分割しようとしたことがありますか? たとえば、データのリストがあり、大文字と小文字に基づいてXNUMXつの列に分割する必要があります。XNUMXつの列には小文字の文字列が含まれ、もうXNUMXつの列には以下のスクリーンショットに示すように大文字の文字列が含まれます。 Text to Columns関数はこの操作をサポートしていませんが、Excelで大文字と小文字を区別してテキスト文字列をすばやく分割するトリックを紹介できます。
  • 数値を個々の桁に分割する
  • 以下のスクリーンショットに示すように、数値を個々の桁に分割または分割する必要があるとすると、それを達成するために何ができますか? この記事では、XNUMXつの方法を紹介します。
Comments (0)
No ratings yet. Be the first to rate!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations