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

Excelで複数の列をXNUMXつのリストに結合するにはどうすればよいですか?

複数の列をXNUMXつの長いリストに結合またはマージするには、通常、列のデータをXNUMXつずつコピーして指定した列に貼り付けることができます。 ただし、ここでは、Excelでこのタスクを解決するための簡単なトリックをいくつか紹介します。

VBAコードを使用して複数の列をXNUMXつのリストに結合する

Kutools for Excelを使用して、複数の列をXNUMXつのリストに結合します


列データのコピーと貼り付けを繰り返すことなく、次のVBAコードを使用すると、このジョブをすばやく簡単に処理できます。

1. 押したまま Altキー+ F11 Excelでキーを押すと、 アプリケーション向け Microsoft Visual Basic 窓。

2. インセット > モジュール、次のマクロをに貼り付けます モジュール 窓。

VBAコード:複数の列をXNUMXつのリストに結合またはマージします

Sub CombineColumns1()
'updateby Extendoffice
    Dim xRng As Range
    Dim i As Integer
    Dim xLastRow As Integer
    Dim xTxt As String
    On Error Resume Next
    xTxt = Application.ActiveWindow.RangeSelection.Address
    Set xRng = Application.InputBox("please select the data range", "Kutools for Excel", xTxt, , , , , 8)
    If xRng Is Nothing Then Exit Sub
    xLastRow = xRng.Columns(1).Rows.Count + 1
    For i = 2 To xRng.Columns.Count
        Range(xRng.Cells(1, i), xRng.Cells(xRng.Columns(i).Rows.Count, i)).Cut
        ActiveSheet.Paste Destination:=xRng.Cells(xLastRow, 1)
        xLastRow = xLastRow + xRng.Columns(i).Rows.Count
    Next
End Sub

3。 次に、 F5 このコードを実行するためのキーを押すと、プロンプトボックスが表示され、XNUMXつの列に結合するデータ範囲を選択するように通知されます。スクリーンショットを参照してください。

docは列を1つに結合しますXNUMX

4。 そして、 OK 次のスクリーンショットに示すように、ボタンをクリックすると、選択した列がXNUMXつの列にのみマージされます。

docは列を2つに結合しますXNUMX 2 docは列を3つに結合しますXNUMX

ヒント:このVBAを実行すると、範囲の元のデータがクリアされます。最初にそれらをコピーして別の場所に保存することをお勧めします。


あなたがインストールしている場合 Kutools for Excel、 その 変換範囲 ユーティリティは、複数の列をXNUMXつの単一の列または単一の行に結合するのに役立ちます。

Kutools for Excel : 300以上の便利なExcelアドインがあり、30日以内に制限なしで無料で試すことができます.

インストールした後 Kutools for Excel、次のようにしてください。

1。 XNUMXつのリストに結合する列データを選択します。

2。 次に、をクリックします クツール > レンジ > 変換範囲、スクリーンショットを参照してください:

3。 の中に 変換範囲 ダイアログボックスで 単一列までの範囲 オプションをクリックして Ok ボタン、スクリーンショットを参照してください:

docは列を5つに結合しますXNUMX

4。 以下で飛び出しました 変換範囲 ボックスで、結果を出力するセルをクリックします。スクリーンショットを参照してください。

docは列を6つに結合しますXNUMX

5。 次に、をクリックします OK ボタンをクリックすると、選択した列が、指定した場所でXNUMXつの列に結合されます。 スクリーンショットを参照してください:

docは列を7つに結合しますXNUMX

ダウンロードして無料トライアル 今すぐExcel用Kutools!


Kutools for Excel:300以上の便利なExcelアドインがあり、30日以内に制限なしで無料で試すことができます。 今すぐダウンロードして無料トライアル!

最高のオフィス生産性向上ツール

🤖 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% 向上させ、毎日何百回もマウス クリックを減らすことができます!
Comments (7)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
This works great if you need to combine all of one column, then move to the next column, etc. What if you need to combine them in the row order? Such as...
A1
B1
A2
B2
This comment was minimized by the moderator on the site
Hello, Kevin,
To combine the data from rows into one single column based on the row order, please apply the following code:
Sub ConvertRangeToColumn()
'Updateby Extendoffice
Dim Range1 As Range, Range2 As Range, Rng As Range
Dim rowIndex As Integer
xTitleId = "KutoolsforExcel"
Set Range1 = Application.Selection
Set Range1 = Application.InputBox("Source Ranges:", xTitleId, Range1.Address, Type:=8)
Set Range2 = Application.InputBox("Convert to (single cell):", xTitleId, Type:=8)
rowIndex = 0
Application.ScreenUpdating = False
For Each Rng In Range1.Rows
    Rng.Copy
    Range2.Offset(rowIndex, 0).PasteSpecial Paste:=xlPasteAll, Transpose:=True
    rowIndex = rowIndex + Rng.Columns.Count
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub


Please have a try, hope it can help you!
This comment was minimized by the moderator on the site
Доброго вечера, благодарю Вас за помощь, Вы сэкономили часы времени. Спасибо, желаю Вам счастья!
This comment was minimized by the moderator on the site
Hello,
Glad it can help you! 😀
This comment was minimized by the moderator on the site
Спасибо большое, все сработало!!!
This comment was minimized by the moderator on the site
This has been very helpful. It saved me hours of copying and pasting columns from A to ANY.
This comment was minimized by the moderator on the site
This worked perfect and was very helpful! Thanks!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations