如何在 Excel 中按相反顺序复制并粘贴行或列?
有时,您可能需要将一列或一行数据以相反的顺序(垂直或水平)复制并粘贴,如下图所示。如何在 Excel 中快速轻松地实现这一操作?

使用公式以相反顺序复制并粘贴列或行列表
以垂直相反顺序复制并粘贴列列表
若要反转一列单元格,请使用以下公式:
在要反转列顺序的空白单元格中输入或复制以下公式:
注意:在上述公式中,A1 是该列的首个单元格,而 A15 是该列的最后一个单元格。
然后,向下拖动填充柄至所需单元格,即可按相反顺序提取单元格值,如下图所示:

以水平相反顺序复制并粘贴行列表
要以相反顺序复制并粘贴一行列表,请使用以下公式:
在空白单元格中输入或复制此公式:
注意:在上述公式中,A1 是该行的第一个单元格,而 1:1 表示数据所在的行号。如果您的数据位于第 10 行,请将其更改为 10:10.
然后,向右拖动填充柄至要应用此公式的单元格,直到提取所有值,您将获得水平反转的所有值,见下图:

使用 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 键运行此代码,将弹出提示框,提醒您选择要垂直反转的数据区域,如下图所示:

4. 然后,单击确定按钮,数据区域即可垂直反转,如下图所示:
![]() | ![]() | ![]() |
以水平相反顺序复制并粘贴单元格范围
要以水平顺序反转数据区域,请使用以下 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
运行此代码后,您将获得如下图所示的结果:
![]() |
![]() |
![]() |
使用强大功能以相反顺序复制并粘贴多列或多行范围
如果您不熟悉上述公式和 VBA 代码,这里推荐一款简单易用的工具——Kutools for Excel,借助其垂直翻转选区和水平翻转选区功能,只需单击一次,即可轻松实现单元格区域的垂直或水平反转。
提示:要使用 Kutools for Excel 的垂直翻转选区和水平翻转选区功能,请先下载该工具,即可快速轻松地应用这些功能。
安装 Kutools for Excel 后,请按以下操作:
以水平相反顺序复制并粘贴单元格范围
1. 选择单元格区域,然后点击 Kutools > 范围 > 垂直翻转选区 > 全部(仅翻转内容),见下图:

2. 随后,单元格区域的值将立即垂直反转,如下图所示:
![]() | ![]() | ![]() |
以水平相反顺序复制并粘贴单元格范围
1. 选择单元格区域,然后点击 Kutools > 范围 > 水平翻转选区 > 全部(仅翻转内容),见下图:

2. 随后,所选区域中的所有单元格值将立即水平反转,如下图所示:
![]() |
![]() |
![]() |
立即点击下载 Kutools for Excel,免费试用吧!
更多相关复制粘贴文章:
- 将合并复制并粘贴到 Excel 的单个单元格中
- 通常,当您复制合并单元格并粘贴到其他位置时,合并格式会一并被粘贴。但如果您希望将合并内容粘贴到单个单元格中(如下图所示),以便更灵活地处理数据,本文将为您介绍具体操作方法。
- 根据 Excel 中的日期将行复制并粘贴到另一工作表
- 假设我有一组数据,现在想根据特定日期复制整行并粘贴到另一个工作表中。您在 Excel 中是否有高效的方法来完成这项任务?
- 复制一列并仅粘贴唯一记录到 Excel 中
- 对于包含大量重复项的列,您可能希望获得一份仅含唯一值的副本。如何实现这一目标?本文将为您介绍两种方法,助您从 Excel 列中轻松提取并粘贴唯一记录。
- 从受保护的工作表中复制数据
- 假设您收到他人发来的 Excel 文件,其中的工作表已被用户保护。现在,您希望将原始数据复制并粘贴到一个新的工作簿中。但由于该用户在保护工作表时取消勾选了“选定锁定单元格”和“选择未锁定单元格”选项,导致受保护工作表中的数据无法被选中或复制。
- 在 Excel 中使用高级筛选将数据复制到另一个工作表
- 通常,我们可以快速使用“高级筛选”功能从同一工作表的原始数据中提取数据。但有时,当您尝试将筛选结果复制到其他工作表时,会收到以下警告消息。此时,该如何在 Excel 中完成此操作?
- 超级编辑栏(轻松编辑多行文本和公式);阅读版式(轻松阅读和编辑大量单元格);粘贴到筛选范围……
- 合并单元格/行/列并保留数据;分割单元格内容;合并重复行并求和/求平均值……防止重复项单元格;比较区域……
- 选择重复或唯一行;选择空白行(所有单元格均为空);超级查找和模糊查找多个工作簿中的内容;随机选择……
- 精准公式复制多个单元格而不更改公式引用;自动创建引用到多个工作表;插入项目符号、复选框等更多功能……
- 收藏并快速插入公式、区域、图表和图片;加密单元格并设置密码;创建邮件列表并发送电子邮件……
- 提取文本、添加文本、删除某位置字符、删除空格;创建并打印数据分页统计;在单元格内容与批注之间转换……
- 超级筛选(保存并应用筛选方案到其他工作表);高级排序按月/周/日、频率等分组;特殊筛选按加粗、倾斜等格式……
- 合并工作簿和工作表;汇总表格基于关键列;分割数据到多个工作表;批量转换 xls、xlsx 和 PDF……
- 数据透视表按周数、星期几等分组……显示未锁定、选区锁定并以不同颜色标识;高亮显示包含公式/名称的单元格……

- 在 Word、Excel、PowerPoint、Publisher、Access、Visio 和 Project 中启用标签式编辑与阅读,大幅提升多文档操作效率!
- 在同一个窗口的新标签页中打开并创建多个文档,而非在新窗口中操作。
- 将您的工作效率提升 50%,每天减少数百次鼠标点击!










