テキスト文字列を区切り記号で複数の行に分割する - 3 つの簡単な方法
通常、Text to Column 機能を使用して、コンマ、ドット、セミコロン、スラッシュなどの特定の区切り文字でセルの内容を複数の列に分割できます。ただし、区切りセルの内容を複数の行に分割する必要がある場合もあります。下のスクリーンショットに示すように、他の列のデータを繰り返します。 このタスクを Excel で処理するための良い方法はありますか? このチュートリアルでは、Excel でこのジョブを完了するための効果的な方法を紹介します。
コンマ、スペース、セミコロンなどで区切られたテキストを分割します。
コンマ、スペース、セミコロン、スラッシュなどの通常の区切り文字で区切られたテキスト文字列を分割するには、次のコードを使用すると便利です。 以下の手順に従ってください。
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つの方法を紹介します。
最高のオフィス生産性向上ツール
🤖 | Kutools AI アシスタント: 以下に基づいてデータ分析に革命をもたらします。 インテリジェントな実行 | コードを生成 | カスタム数式の作成 | データを分析してグラフを生成する | Kutools関数を呼び出す... |
人気の機能: 重複を検索、強調表示、または識別する | 空白行を削除する | データを失わずに列またはセルを結合する | 数式なしのラウンド ... | |
スーパールックアップ: 複数の基準の VLookup | 複数の値の VLookup | 複数のシートにわたる VLookup | ファジールックアップ .... | |
詳細ドロップダウン リスト: ドロップダウンリストを素早く作成する | 依存関係のドロップダウン リスト | 複数選択のドロップダウンリスト .... | |
列マネージャー: 特定の数の列を追加する | 列の移動 | Toggle 非表示列の表示ステータス | 範囲と列の比較 ... | |
注目の機能: グリッドフォーカス | デザインビュー | ビッグフォーミュラバー | ワークブックとシートマネージャー | リソースライブラリ (自動テキスト) | 日付ピッカー | ワークシートを組み合わせる | セルの暗号化/復号化 | リストごとにメールを送信する | スーパーフィルター | 特殊フィルター (太字/斜体/取り消し線をフィルター...) ... | |
上位 15 のツールセット: 12 テキスト ツール (テキストを追加, 文字を削除する、...) | 50+ チャート 種類 (ガントチャート、...) | 40+ 実用的 式 (誕生日に基づいて年齢を計算する、...) | 19 挿入 ツール (QRコードを挿入, パスから画像を挿入、...) | 12 変換 ツール (数字から言葉へ, 通貨の換算、...) | 7 マージ&スプリット ツール (高度な結合行, 分割セル、...) | ... もっと |
Kutools for Excel で Excel スキルを強化し、これまでにない効率を体験してください。 Kutools for Excelは、生産性を向上させ、時間を節約するための300以上の高度な機能を提供します。 最も必要な機能を入手するにはここをクリックしてください...
Officeタブは、タブ付きのインターフェイスをOfficeにもたらし、作業をはるかに簡単にします
- Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
- 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
- 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!