在Excel 上下颠倒、翻转数据(反转列/行中的数据顺序)

在Excel 上下颠倒、翻转数据(反转列/行中的数据顺序)

有时,您可能需要在Excel 上下颠倒、翻转数据,即在垂直数据集中颠倒数据的顺序,在水平数据集中从左到右颠倒数据的顺序。

现在,如果您认为Excel 中必须有一个内置功能来执行此操作,恐怕您会感到失望。

虽然有多种方法可以在Excel 中翻转数据,但没有内置功能。但是您可以使用简单的排序技巧、公式或VBA 轻松完成此操作。

在本教程中,我将向您展示如何在Excel 上下颠倒、翻转行、列和表中的数据。

所以让我们开始吧!

使用SORT 和辅助列翻转数据

在Excel 中反转数据顺序的最简单方法之一是使用帮助列,然后使用该帮助列对数据进行排序。

垂直翻转数据(颠倒顺序)

假设您在如下所示的列中有一个姓名数据集,并且您想要翻转此数据:

要翻转的垂直数据集

以下是垂直翻转数据的步骤:

  1. 在相邻列中,输入“Helper”作为该列的标题
  2. 在帮助列中,输入一系列数字(1、2、3 等)。您可以使用此处显示的方法快速完成此操作用于翻转垂直数据的辅助列
  3. 选择整个数据集,包括辅助列
  4. 单击数据选项卡单击数据选项卡
  5. 点击排序图标单击排序图标
  6. 在“排序”对话框中,选择“排序依据”下拉菜单中的“帮助程序”选择Helper 列进行排序
  7. 在订单下拉菜单中,选择“从大到小”选择从大到小排序
  8. 点击确定

上述步骤将根据帮助列值对数据进行排序,这也会导致数据中姓名的顺序颠倒。

数据垂直翻转

完成后,请随意删除帮助列。

在此示例中,我向您展示了如何在只有一列时翻转数据,但如果您有整个表,您也可以使用相同的技术。只需确保选择整个表,然后使用辅助列按降序对数据进行排序。

水平翻转数据

您还可以按照相同的方法在Excel 中水平翻转数据。

Excel 具有使用“排序”对话框(“从左到右排序”功能)对数据进行水平排序的选项。

假设您有一个如下所示的表格,并且您想要水平翻转此数据。

水平数据集

以下是执行此操作的步骤:

  1. 在下面的行中,输入“Helper”作为该行的标题
  2. 在助手行中,输入一系列数字(1、2、3 等)。水平数据集
  3. 选择整个数据集,包括辅助行
  4. 单击数据选项卡
  5. 点击排序图标
  6. 在排序对话框中,单击选项按钮。单击排序对话框中的选项按钮
  7. 在打开的对话框中,单击“从左到右排序”点击左或右排序
  8. 点击确定
  9. 在排序方式下拉列表中,选择第3 行(或任何有您的帮助列的行)选择助手行号
  10. 在订单下拉菜单中,选择“从大到小”选择从大到小进行排序
  11. 点击确定
相关问题  如何添加和使用Excel 数据透视表计算字段

上述步骤将水平翻转整个表格。

水平数据翻转

完成后,您可以删除辅助行。

使用Excel上下颠倒公式来翻转数据

Microsoft 365 提供了一些新公式,可以非常轻松地在Excel 中反转列或表的顺序。

在本节中,我将向您展示如何使用SORTBY 公式(如果您使用Microsoft 365)或INDEX 公式(如果您不使用Microsoft 365)来执行此操作

使用SORTBY 函数(在Microsoft 365 中可用)

假设您有一个如下所示的表格,并且您想要翻转该表格中的数据:

由SORTBY 翻转的数据

为此,首先,复制标题并将它们放在您想要翻转表的位置

将标题复制到其他位置

现在,在最左侧标题的单元格下方使用以下公式:

=SORTBY($A$2:$B$12,ROW(A2:A12),-1)

SORTBY 函数翻转数据

上述公式对数据进行排序,并以ROW 函数的结果为基础进行排序。

在这种情况下,ROW 函数将返回一个数字数组,该数组表示指定范围之间的行号(在此示例中为一系列数字,例如2、3、4 等)。

由于这个公式的第三个参数是-1,它会强制公式按降序对数据进行排序。

具有最高行号的记录将位于顶部,具有最低规则号的记录将位于底部,基本上颠倒了数据的顺序。

完成后,您可以将公式转换为值以获取静态表。

使用索引函数

如果您无法使用SORTBY 功能,请不要担心– 您可以使用令人惊叹的INDEX 功能。

假设您有一个如下所示的姓名数据集,并且您想要翻转此数据。

索引功能的单列数据

以下是执行此操作的公式:

= INDEX($ A $ 2:$ A $ 12,ROWS(A2:$ A $ 12))

INDEX 函数翻转1 列

 这个公式是如何工作的?

上面的公式使用INDEX 函数,该函数将根据第二个参数中指定的数字从单元格中返回值。

真正的魔力发生在我使用ROWS 函数的第二个参数中。

由于我在ROWS 函数中锁定了引用的第二部分,因此在第一个单元格中,它将返回A2 和A12 之间的行数,即11。

但是当它沿着行向下时,第一个引用将更改为A3,然后是A4,依此类推,而第二个引用将保持原样,因为我已将其锁定并使其成为绝对值。

随着我们向下行,ROWS 函数的结果将减少1,从11 减少到10 到9,依此类推。

由于INDEX 函数根据第二个参数中的数字返回值,这最终会以相反的顺序为我们提供数据。

即使数据集中有多个列,您也可以使用相同的公式。但是,您必须指定第二个参数,该参数将指定需要从中获取数据的列号。

假设您有一个如下所示的数据集,并且您想要颠倒整个表格的顺序:

索引函数排序的两个数据列

以下是将为您执行此操作的公式:

=INDEX($A$2:$B$12,ROWS(A2:$A$12),COLUMNS($A$2:A2))

INDEX 公式对多列进行排序

这是一个类似的公式,其中我还添加了第三个参数,该参数指定应从中获取值的列号。

相关问题  修复Windows 10 蓝牙无法连接到耳机、扬声器等

为了使这个公式动态化,我使用了COLUMNS 函数,当您将其复制到右侧时,该函数会不断将列值从1 更改为2 到3。

完成后,您可以将公式转换为值,以确保获得静态结果。

注意:当您使用公式反转Excel 中数据集的顺序时,它不会保留原始格式。如果您还需要排序数据的原始格式,您可以手动应用它或将格式从原始数据集中复制并粘贴到新的排序数据集中

使用VBA 翻转数据

如果在Excel 中翻转数据是您必须经常做的事情,您也可以尝试VBA 方法。

使用VBA 宏代码,您可以在VBA 编辑器的工作簿中复制和粘贴一次,然后在同一个工作簿中一遍又一遍地重复使用它。

您还可以将代码保存在个人宏工作簿中或作为Excel 加载项,并能够在系统上的任何工作簿中使用它。

下面是在工作表中垂直翻转所选数据的VBA 代码。

Sub FlipVerically()

Dim TopRow As Variant
Dim LastRow As Variant
Dim StartNum As Integer
Dim EndNum As Integer

应用程序.ScreenUpdating = False

StartNum = 1
EndNum = Selection.Rows.Count

Do While StartNum < EndNum
TopRow = Selection.Rows(StartNum)
LastRow = Selection.Rows(EndNum)
Selection.Rows(EndNum) = TopRow
Selection.Rows(StartNum) = LastRow
StartNum = StartNum + 1
EndNum = EndNum – 1
循环

Application.ScreenUpdating =真
END SUB

要使用此代码,您首先需要选择要反转的数据集(不包括标题),然后运行此代码。

这段代码是如何工作的?

上面的代码首先计算数据集中的总行数,并将其分配给变量EndNum。

然后它使用Do While 循环进行数据排序。

它对这些数据进行排序的方式是获取第一行和最后一行并交换它们。然后它移动到倒数第二行的第二行,然后交换它们。然后它移动到倒数第三行的第三行,依此类推。

相关问题  如何在Excel把姓名合并[4种简单方法]

当所有排序完成时循环结束。

它还使用Application.ScreenUpdating 属性并在运行代码时将其设置为FALSE,然后在代码完成运行时将其转回TRUE。

这可以确保您不会在屏幕上看到实时发生的变化,同时也加快了进程。

如何使用代码?

按照以下步骤在VB 编辑器中复制并粘贴此代码:

  1. 打开要在其中添加VBA 代码的Excel 文件
  2. 按住ALT 键并按F-11 键(您也可以转到开发人员选项卡并单击Visual Basic 图标)
  3. 在打开的Visual Basic 编辑器中,VBA 编辑器的左侧将有一个项目资源管理器。如果您没有看到它,请单击“查看”选项卡,然后单击“项目资源管理器”项目浏览器
  4. 右键单击要在其中添加代码的工作簿的任何对象
  5. 转到插入选项,然后单击模块。这将向工作簿添加一个新模块插入一个模块
  6. 双击Project Explorer 中的模块图标。这将打开该模块的代码窗口
  7. 将上面的VBA 代码复制粘贴到代码窗口中

要运行VBA 宏代码,首先选择要翻转的数据集(不包括标题)。

选择数据后,转到VB 编辑器并单击工具栏中的绿色播放按钮,或选择代码中的任意行然后按F5 键

单击宏运行按钮

因此,这些是您可以用来翻转Excel 中的数据的一些方法(即,颠倒数据集的顺序)。

我在本教程中介绍的所有方法(公式、SORT 功能和VBA)都可用于垂直和水平翻转数据(您必须相应地调整公式和VBA 代码以进行水平数据翻转)。

我希望您发现本教程很有用。

常见问题与解答: 在Excel 上下颠倒、翻转数据

是否有快捷键可以在Excel 中上下颠倒或翻转数据?

Excel 并未提供专用的快捷键来对数据进行上下颠倒或翻转。但是,可以通过快捷键全选数据(Ctrl+A),然后使用快捷键复制(Ctrl+C)和转置贴上(Alt+E,然后选择转置)。

哦,您好 👋很高兴认识你。

订阅我们的电子报,定期发送很棒的科技内到您的邮

发表评论