合并同一张 Excel 电子表格的多个版本

合并同一张 Excel 电子表格的多个版本

情况是这样的:

我有同一张电子表格的多个版本 - 每个版本都有完全相同的行和列标签。

任何两个给定的电子表格之间的区别在于,一个电子表格中的数据不应该出现在另一个电子表格中(但有时可能会出现)。

有没有办法将它们全部合并到电子表格的“主副本”(或只是空白版本)中?(基本上,使用该工作表各个版本的数据来填写主版本)

复制粘贴非常繁琐,如果行号不连续,则不允许我复制行块。(例如,行 1、2、3、6 在一个块中,但行 4 和 5 不存在。)

有什么想法吗?谷歌搜索没有找到任何与该问题直接相关的内容。

答案1

这里

要合并 Microsoft Excel 文件,最好先将它们保存为 CSV 文件。打开 Excel 文件,然后在菜单栏中单击文件、另存为。在保存类型下拉列表中,从列表中选择 CSV(逗号分隔)。

对要合并的每个 Excel 文件执行此操作,然后将所有 CSV 文件放在同一个文件夹中。为方便起见,将它们放在 C: 驱动器根目录中的文件夹中(例如 c:\csvfiles)。

打开 Windows 命令提示符并导航到包含 CSV 文件的文件夹。键入 dir 以查看文件夹中的文件并确保所有文件都在那里。

输入以下命令将文件夹中的所有 CSV 文件合并到一个名为“newfile.csv”的新 CSV 文件中(可以使用任何名称)。

复制 *.csv 新文件.csv

创建新文件后,在 Microsoft Excel 中打开新的 CSV 文件并将其保存为 Excel 文件。

答案2

我不知道如何使用 Excel 来做到这一点。如果您将其保存为 CSV 文件,则很容易在R

file1 <- read.csv("file1.csv", header=TRUE, nrows=50000) # read the file into memory
file2 <- read.csv("file2.csv", header=TRUE, nrows=50000)
file3 <- read.csv("file3.csv", header=TRUE, nrows=50000)

merge12 <- merge(file1, file2, all=TRUE)                 # merge the files
final <- merge(merge12, file3, all=TRUE)

write.csv(final, "merged-data.csv", quote=FALSE, row.names=FALSE) # save the output as CSV

一旦您有了 CSV 输出,您可以将其导入回 Excel,保存为 XLSX,然后就可以了。

read.csv()语句中,nrows这是一种限制分配给这些数据的内存量的方法。我通常会四舍五入到下一个 1,000(因此,如果您的文件有 1,200 行,我会输入 2,000)。这不是必需的,但我发现如果您处理大量数据,它有助于提高 R 性能。

答案3

您可以通过各种方式将所有文件中的所有行合并到一个文件中,包括简单地逐行复制并粘贴到新电子表格中(或粘贴到将成为主表的现有电子表格中)。当然,有些行显然是重复的,但这是下一步。

使用 Excel 的删除重复项功能。使用功能区菜单、数据选项卡、数据工具组,找到删除重复项菜单选项并单击它。从那里开始,非常简单。确保选中所有列,以便只删除完全重复的行。或者,当然,如果某些列不重要,可以取消选中它们。

Excel 将仅保留您选中的列集所具有的完全唯一的行。

当我读到您的问题时,您已经知道您需要什么了。

相关内容