如何自动复制 Excel 中的列?

如何自动复制 Excel 中的列?

每天我都必须获取具有 40 多列且行数不断增加的原始数据(目前为 250 万),并按照某种格式进行准备。


假设原始数据有 5 列:

名字 - 姓氏 - 年份 - 国家 - 性别


我需要的是:

姓氏 - 性别 - 国家

这意味着我只需要其中的一些列,并且顺序不同。

答案1

单击快速访问工具栏上的“重复”可重复上一个操作。键盘快捷键按 CTRL+Y 或 F4。

答案2

这 250 万行数据来自哪里?不是 Excel,因为 Excel 工作表只能有 1,048,576 行。

如果您使用 Excel 2010 或 2013 中的数据模型,则可以处理超过 Excel 限制的数据,但数据不会显示在工作表中。您可以使用 Power Query 将大量数据(超过 Excel 工作表限制)从不同来源导入数据模型。Power Query 还可用于转换源数据,例如删除列和更改列的顺序。

您可以将 Power Query 下载为 Excel 插件这里。它适用于 Excel 2010 和 2013 的大多数版本,并且将内置于 Excel 2016 中。

答案3

假设您的 5 列原始数据位于 中Sheet1,第 1 行包含标题名字 - 姓氏 - 年份 - 国家 - 性别,数据从第 2 行开始。

现在我们将所需的 3 个标题放在第 1 行Sheet2,在 A2 中输入以下公式,然后将其向下/穿过:

=INDEX(Sheet1!$A2:$E2,MATCH(A$1,Sheet1!$A$1:$E$1,0))

这是一个水平查找,对于每一行,搜索每一列以返回右列中的值。

如果这花费的时间太长(听起来计算时间对你来说很重要),你可以只查找(MATCH)正确的列一次,然后关闭它。在的index第 2 行添加一个额外的 3 个值行(假设你的数据现在从第 3 行开始),现在输入并填写 + 向下。Sheet2=MATCH(A$1,Sheet1!$A$1:$E$1,0)Sheet1=INDEX(Sheet1$A3:$E3,A$2)Sheet2!A3

相关内容