Excel 使用复制 + 粘贴重新排列列

Excel 使用复制 + 粘贴重新排列列

我正在尝试创建一种方法,在执行复制+粘贴时自动重新排列列。

假设我有一个 Excel 文件,其中的表格的第一行包含列:

ID | NAME | DATE      | TIME     | FAVORITE_FOOD
12 | John | 2/12/2015 | 12:00 PM | Chipotle
13 | Jake | 2/13/2015 | 12:01 PM | BigMac

等等(想象一下上面的引用块是 excel 中的一个典型表格)

我正在想办法,所以当我复制整个表格时,当我将其粘贴到第二个 excel 文件上,它会自动将列顺序重新排列为:date,,,,,。timeIDnamefavorite_food

是否可以在第二个 excel 文件上创建条件以自动重新排列列顺序?如果不行,我可以通过哪些方式自动执行此过程?

答案1

您可以通过结合使用 INDEX() 和 MATCH() 来实现这一点。Index 返回您定义的某个范围内的单元格的内容,您可以通过输入行号和列号来对其进行定位。例如:

=INDEX(A1:D5,3,2)

这将返回单元格 B3 的值,该单元格是选择范围内第三行和第二列的交点。

Match 在选定内容中搜索包含要搜索的值的单元格并返回列号。如果样本数据从 A1 开始,则

=MATCH("时间",A1:E1,0)

将返回数字 4。

所以,把它们放在一起。如果您的数据从 A1 开始,并且您想将其复制到从 G1 开始的新位置,请将此公式复制到 G2。然后,将其向右向下拖动。如果您想重新排序目标,您只需更改列标题即可。

=INDEX($A:$E,ROW(),MATCH(G$1,$A$1:E$1,0))

在此处输入图片描述

答案2

我按照您的建议做了,但是当我拖动到右侧和底部时,公式会发生变化以更新“匹配”公式中的源列名称。如何才能在拖动后正确更新公式?

相关内容