Skip to main content

如何在 Excel 中反向複製和粘貼行或列?

Author: Xiaoyang Last Modified: 2025-08-06

有時候,您可能需要像下面的螢幕截圖所示那樣,將一列或一行列表垂直或水平地反向複製並粘貼。在 Excel 中,您如何快速輕鬆地處理這個任務呢?

a screenshot showing the reverse order of the data after pasting

使用公式反向複製和粘貼列或行列表

使用 VBA 程式碼反向複製和粘貼列或行範圍

使用強大的功能反向複製和粘貼列或行範圍


使用公式反向複製和粘貼列或行列表

垂直反向複製和粘貼列列表

如果您想反轉一列單元格,可以應用以下公式:

在您希望反轉列順序的空白單元格中輸入或複製以下公式:

=OFFSET($A$15,-(ROW(A1)-1),0)

注意:在上述公式中,A1 是該列中的第一個單元格,而 A15 是該列中的最後一個單元格。

然後,向下拖動填充柄以提取反向順序的單元格值,如下方螢幕截圖所示:

a screenshot of using formula to get the reverse order of a column data


水平反向複製和粘貼行列表

要反向複製和粘貼行列表,請使用以下公式:

在空白單元格中輸入或複製此公式:

=OFFSET($A$1,,COUNTA(1:1)-COLUMN(A1),)

注意:在上述公式中,A1 是該行中的第一個單元格,而 1:1 是數據所在的行號。如果您的數據位於第 10 行,則應將其更改為 10:10。

然後,向右拖動填充柄到您要應用此公式的單元格,直到所有值都被提取出來,您將獲得所有已水平反轉的值,請參見下方的螢幕截圖:

a screenshot of using formula to get the reverse order of a row data


使用 VBA 程式碼反向複製和粘貼列或行範圍

如果您需要反向複製和粘貼列或行範圍,這裡我將介紹一些用於快速輕鬆解決此問題的 VBA 程式碼。請按照以下步驟操作:

垂直反向複製和粘貼列列表

1. 首先,您應該將數據複製並粘貼到新位置,然後按住 ALT + F11 鍵打開 Microsoft Visual Basic for Applications 視窗。

2. 點擊 插入 > 模組,並將以下程式碼粘貼到模組視窗中。

VBA 程式碼:垂直反向複製和粘貼單元格範圍

Sub Flipvertically()
'updateby Extendoffice
Dim Rng As Range
Dim WorkRng As Range
Dim Arr As Variant
Dim i As Integer, j As Integer, k As Integer
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Arr = WorkRng.Formula
For j = 1 To UBound(Arr, 2)
    k = UBound(Arr, 1)
    For i = 1 To UBound(Arr, 1) / 2
        xTemp = Arr(i, j)
        Arr(i, j) = Arr(k, j)
        Arr(k, j) = xTemp
        k = k - 1
    Next
Next
WorkRng.Formula = Arr
End Sub

3. 然後,按下 F5 鍵運行程式碼,會彈出一個提示框,提醒您選擇要垂直反轉的數據範圍,請參見下方螢幕截圖:

a screenshot of selecting the range of cells you want to reverse after running the VBA code

4. 然後,點擊 確定 按鈕,數據範圍已垂直反轉,如下方螢幕截圖所示:

a screenshot of the original column data a screenshot of an arrow a screenshot of the reversed data range

水平反向複製和粘貼單元格範圍

要水平反轉數據範圍,請應用以下 VBA 程式碼:

VBA 程式碼:水平反向複製和粘貼單元格範圍

Sub Fliphorizontally()
'updateby Extendoffice
Dim Rng As Range
Dim WorkRng As Range
Dim Arr As Variant
Dim i As Integer, j As Integer, k As Integer
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Arr = WorkRng.Formula
For i = 1 To UBound(Arr, 1)
    k = UBound(Arr, 2)
    For j = 1 To UBound(Arr, 2) / 2
        xTemp = Arr(i, j)
        Arr(i, j) = Arr(i, k)
        Arr(i, k) = xTemp
        k = k - 1
    Next
Next
WorkRng.Formula = Arr
End Sub

運行程式碼後,您將根據需要獲得以下螢幕截圖:

a screenshot of the original row data
a screenshot of a down arrow
a screenshot of the reversed data

使用強大的功能反向複製和粘貼列或行範圍

如果您不熟悉上述公式和 VBA 程式碼,這裡我將推薦一個簡單的工具——Kutools for Excel,利用它的 Flip Vertical RangeFlip Horizontal Range 功能,您可以通過單擊一次來垂直和水平反轉單元格範圍。

提示:要應用此 Flip Vertical Range Flip Horizontal Range 功能,首先,您應該下載 Kutools for Excel,然後快速輕鬆地應用該功能。

安裝 Kutools for Excel 後,請執行以下操作:

水平反向複製和粘貼單元格範圍

1. 選擇單元格範圍,然後點擊 Kutools > 區域 > Flip Vertical Range > 全部(僅翻轉內容),請參見下方螢幕截圖:

a screenshot of enabling the Filp Vertical Range feature

2. 然後,單元格範圍的值立即被垂直反轉,請參見下方螢幕截圖:

a screenshot showing the data before flipping a screenshot of an arrow 2 a screenshot of the result after flipping

水平反向複製和粘貼單元格範圍

1. 選擇單元格範圍,然後點擊 Kutools > 區域 > Flip Horizontal Range > 全部(僅翻轉內容),請參見下方螢幕截圖:

a screenshot of enabling the Filp Horizontal Range feature

2. 然後,所選範圍內的所有單元格值立即被水平反轉,請參見下方螢幕截圖:

a screenshot showing the row data before flipping
a screenshot of a down arrow 2
a screenshot of the result after flipping the selected horizontal range

立即點擊下載 Kutools for Excel 並免費試用!


更多相關的複製和粘貼文章:

  • 在 Excel 中將合併單元格複製並粘貼到單一單元格
  • 通常,當您複製合併單元格並將它們粘貼到其他單元格時,合併單元格會直接被粘貼。但是,您希望將這些合併單元格粘貼到單一單元格中,如下方螢幕截圖所示,這樣您可以根據需要處理數據。本文將討論如何將合併單元格複製並粘貼到單一單元格中。
  • 在 Excel 中複製列並僅粘貼唯一記錄
  • 對於包含大量重複項的列,您可能需要獲取僅包含唯一值的列表副本。您該如何實現這一點?在本文中,我們提供了兩種方法來從 Excel 中的列列表中僅粘貼唯一記錄。
  • 從受保護的工作表中複製數據
  • 假設,您收到另一個人發送的 Excel 文件,其中的工作表受到用戶保護,現在您想將原始數據複製並粘貼到另一個新的工作簿中。但是,由於用戶在保護工作表時取消勾選了「選擇鎖定單元格」和「選擇未鎖定單元格」選項,因此無法選擇和複製受保護工作表中的數據。
  • 使用 Excel 中的高級篩選器將數據複製到另一個工作表
  • 通常,我們可以快速應用高級篩選器功能從同一工作表中的原始數據中提取數據。但是,有時候,當您嘗試將篩選結果複製到另一個工作表時,您會收到以下警告訊息。在這種情況下,您該如何在 Excel 中處理這個任務呢?

  • 超級公式欄(輕鬆編輯多行文字和公式);閱讀版面(輕鬆閱讀和編輯大量儲存格);貼上到已篩選區域...
  • 合併儲存格/列/欄並保留數據;分割儲存格內容;合併重複列並求和/平均值... 防止重複儲存格;比較區域...
  • 選擇重複或唯一列;選擇空白列(所有儲存格均為空);在多個工作簿中進行超級查找和模糊查找;隨機選擇...
  • 精確複製多個儲存格而不改變公式引用;自動創建對多個工作表的引用;插入項目符號、核取方塊等...
  • 收藏並快速插入公式、區域、圖表和圖片;使用密碼加密儲存格建立郵件清單並發送電子郵件...
  • 提取文本、添加文本、按位置刪除、刪除空格;創建並打印分頁小計;在儲存格內容和批註之間轉換...
  • 超級篩選(保存並應用篩選方案到其他工作表);高級排序按月/週/日、頻率等;特殊篩選按粗體、斜體...
  • 合併工作簿和工作表;基於關鍵列合併表格;將數據分割到多個工作表批量轉換 xls、xlsx 和 PDF...
  • 資料透視表按週數、星期幾等分組... 用不同顏色顯示未鎖定、已鎖定的儲存格突出顯示包含公式/名稱的儲存格...
kte tab 201905
  • 在 Word、Excel、PowerPoint、Publisher、Access、Visio 和 Project 中啟用標籤式編輯和閱讀。
  • 在同一窗口的新標籤中打開和創建多個文檔,而不是在新窗口中。
  • 提高您的生產力 50%,每天減少數百次鼠標點擊!
officetab bottom