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

Excel で複数の列を1 つの列に積み重ねるには、どうすればよいですか?

著者Sun変更日

複数の列を以下スクリーンショットのように1 つの列に積み重ねる必要があるのですが、列を1 つずつ手動で移動する以外に、Excel でこの作業を効率的に処理する方法はありますか?
列を左から右に積み重ねて1つの列にする

VBA を使用して列を1 つの列に積み重ねる

Kutools for Excel を使用して列を1 つの列に積み重ねる


VBA を使用して列を1 つの列に積み重ねる

Excel にはこの作業を処理するための組み込み関数はありませんが、VBA コードを使えば簡単に実現できます。

1。Alt + F11キーを押して、Microsoft Visual Basic for Applicationsウィンドウを開きます。次に、挿入 > モジュールをクリックして、新しい空のモジュールを作成します。

2。以下のコードをモジュールにコピー&ペーストしてください。

VBA:列を1 つに積み重ねる

Sub StackColumns()
'UpdatebyExtendoffice20180814
Dim xSRg, xDRg As Range
Dim xDWS As Worksheet
Dim xIntDR, xIntDC, xI As Long
Dim xFNumR, xFNumC As Long
On Error GoTo Err1
Set xSRg = Application.InputBox("Select Columns:", "Kutools for Excel", xTxt, , , , , 8)
If xSRg Is Nothing Then
Err1:
    Application.ScreenUpdating = True
    Exit Sub
End If
Set xDRg = Application.InputBox("Select a cell to place result:", "Kutools for Excel", xTxt, , , , , 8)
If xDRg Is Nothing Then
    Exit Sub
End If
Application.ScreenUpdating = False
Set xDWS = xDRg.Worksheet
xIntDR = xDRg.Row
xIntDC = xDRg.Column
xI = 0
    For xFNumC = 1 To xSRg.Columns.Count
        For xFNumR = 1 To xSRg.Rows.Count
            Set xDRg = xDWS.Cells(xIntDR + xI, xIntDC)
            xDRg.Value = xSRg.Cells(xFNumR, xFNumC).Value
            xI = xI + 1
        Next xFNumR
    Next xFNumC
Application.ScreenUpdating = True
End Sub

VBAコードをモジュールにコピーして貼り付ける

3。F5キーを押してコードを実行すると、積み重ねる列を選択するダイアログが表示されます。
コードを実行してデータ範囲を選択する

4。OKをクリック後、結果を配置するセルを選択します。
結果を配置するセルを選択するためのVBAコード

5。OKをクリックして完了します。これで、選択した列が1 つの列にきれいに積み重ねられます!
選択した列が1つの列に積み重ねられました


Kutools for Excel を使用して列を1 つの列に積み重ねる

Excel にKutools for Excelがインストール済みであれば、Transform Rangeユーティリティを使ってこの作業を簡単に処理できます。

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

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

1。積み重ねたい列を選択し、Kutools > 範囲 > Transform Range をクリックします。
Kutoolsの「範囲変換」機能をクリックする

2。Transform Rangeダイアログで、Range to single rowチェックボックスをオンにして、OKをクリックします。
「範囲を単一行に」チェックボックスをオンにする

3。表示されたダイアログで、結果を配置するセルを選択してください。OKをクリックします。
結果を配置するセルを選択する

これで列が1 行に変換されました。
列が単一行に変換されました

4。この1 行を選択し、Ctrl + Cを押してコピーします。次に、積み重ねた列を配置したいセルを選択し、右クリックしてコンテキストメニューからTranspose (T)を選択してください。
行をコピーして「形式を選択して貼り付け」で「行列を入れ替える」を実行する

これで1 行が縦方向の積み重ね列に変換されました。
単一行が積み重ねられた列に転置されました

最高の 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 日間のフル機能トライアル— 登録不要、クレジットカード不要
  • 最高のお得感— 個別アドイン購入よりお得