区切り文字でテキスト文字列を複数行に分割する - 3 の簡単なテクニック
通常、「区切り文字による列の分割」機能を使えば、コンマやピリオド、セミコロン、スラッシュなどの特定の区切り文字に基づいて、セルの内容を複数列に簡単に分割できます。 しかし場合によっては、こうした区切り文字で区切られたセルの内容を**複数行に分割**し、他の列のデータを以下スクリーンショットのように**繰り返す必要**が出てきます。 Excel でこのような作業を効率よく処理する方法はあるでしょうか? 本チュートリアルでは、Excel でこの作業をスピーディーかつ正確に完了させるための、いくつかの効果的な方法をご紹介します。

コンマ、スペース、セミコロンなどで区切られたテキストを分割する
コンマ、スペース、セミコロン、スラッシュなど、一般的な区切り文字で区切られたテキスト文字列を分割するには、以下のコードが役立ちます。次の手順に従ってください。
注:このコードは元に戻す(Undo)操作に対応していませんので、実行前に必ずデータをバックアップすることをおすすめします。
ステップ1:VBA モジュールエディターを開き、コードをコピーする
1。使用したいシートをアクティブにして、「Alt」+「F11」キーを押して「Microsoft Visual Basic for Applications」ウィンドウを開きます。
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 コードを使って複数行に簡単に分割できます。
注:このコードは元に戻す(Undo)操作に対応していませんので、実行前にデータのバックアップを強くおすすめします。
ステップ1:VBA モジュールエディターを開き、コードをコピーする
1。「Alt」+「F11」キーを押して、「Microsoft Visual Basic for Applications」ウィンドウを開きます。
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:複数行に分割する機能を選択する
「Kutools」>「結合と分割」>「複数行に分割する」をクリックしてください(スクリーンショット参照)。

ステップ2:分割対象のデータセルと区切り文字を指定する
表示されたダイアログボックスで、以下のオプションを設定してください。
- 1)。「範囲(単一列)」テキストボックスから、分割したいセルのリストを選択します。
- 2).次に、データを区切る区切り文字を選択します。「その他」を選択し、テキストボックスにコンマとスペース(,)を入力してください。
- 3).最後に、「OK」ボタンをクリックしてください。

これで、区切り文字付きテキストを含む選択セルが、指定した区切り文字に基づいて複数行に変換されました(スクリーンショット参照)。

ヒント:元のデータに戻したい場合は、Ctrl + Z を押して「元に戻す(Undo)」操作を行ってください。
使いやすいですか?この機能にご興味をお持ちなら、こちらをクリックして、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)。次に、「詳細オプション」をクリックしてセクションを展開し、「Split into」の下にある「Rows」を選択してください。
- 5)。最後に、「OK」をクリックしてこのダイアログボックスを閉じてください。

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

ステップ3:Power Query の結果をExcel テーブルに出力する
1。次に、ワークシートにデータを出力する必要があります。「ホーム」>「閉じて読み込む」>「閉じて読み込む/閉じて読み込み先」をクリックしてください(ここでは「閉じて読み込む」を選択します。スクリーンショットをご参照ください)。

ヒント:「閉じて読み込む」をクリックすると、データは新しいワークシートに出力されます。「閉じて読み込み先」オプションを選択すれば、データを必要な他のシートに出力できます。
2。最終的にデータは新しいワークシートに読み込まれます(スクリーンショットをご参照ください)。

ヒント:元のテーブルのデータを頻繁に更新する必要があってもご安心ください。結果テーブルを右クリックして「更新」を選択すれば、最新の結果が自動的に反映されます。
関連記事:
- セルの値を複数の列に分割
- Excel では、セル内の値をコンマやスペース、ピリオド、改行などの特定の区切り文字で複数の列に分割したい場合、通常は「テキストを列に分割」機能を使い、ステップごとに処理できます。本記事では、セルの値をもっと簡単・スピーディーに複数の列または行に分割できる便利なテクニックをいくつかご紹介します。
- セルを複数の行または列に分割
- セミコロンなどの特定の文字で区切られた複数の内容が1 つのセルに含まれている場合、Excel でこれを素早く複数の行または列に分割する方法はありますか?
- 大文字小文字でテキスト文字列を分割
- Excel では通常、「テキストを列に分割」機能を使い、固定幅や区切り文字に基づいてテキストを分割しますが、大文字と小文字でテキストを分割したことはありますか? たとえば、あるデータリストを大文字・小文字に基づいて2 つの列に分けたい場合——一方の列には小文字を含む文字列を、もう一方の列には大文字を含む文字列を配置するといったケースです(下記スクリーンショット参照)。 この操作は「テキストを列に分割」機能ではサポートされていませんが、Excel で大文字・小文字に基づいてテキストを素早く分割するテクニックをご紹介します。
- 数値を個別の桁に分割
- 下記スクリーンショットのように数値を個別の桁に分割したい場合は、どのようにすればよいでしょうか?本記事では、そのための2 つの方法をご紹介します。
最高のオフィス業務効率化ツール
| 🤖 | 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 日間のフル機能トライアル— 登録不要、クレジットカード不要
- ベストバリュー— 個別アドイン購入よりお得