我有 40-50 个工作簿,每个工作簿大约有 5 列和 30 行,我需要将它们重新组织成单个工作簿中的多个工作表。为此,我需要从每个文件中提取特定单元格。我在下面创建了一个简化的示例来说明我想要做什么。
假设我和我的室友正在记录我们每月的支出,每个月都有一个单独的工作簿文件。该电子表格可能如下所示:
一月 | |||
---|---|---|---|
姓名 | 杂货 | 实用工具 | 啤酒 |
马特 | 150美元 | 130美元 | 200美元 |
鲍勃 | $175 | 80美元 | 50美元 |
佩吉 | $85 | 35美元 | $0 |
我有六个月的数据,我想将它们合并到一个工作簿中,每个类别都有单独的选项卡。杂货店希望这样:
一月 | 二月 | 行进 | 四月 | 可能 | 六月 | |
---|---|---|---|---|---|---|
马特 | 150美元 | 140美元 | $124 | 101美元 | $142 | $66 |
鲍勃 | $175 | $137 | 80美元 | $124 | 50美元 | $111 |
佩吉 | $85 | $117 | 130美元 | $75 | $83 | $126 |
实用程序和啤酒会有单独的标签。我该如何实现这一点?谢谢。
答案1
手动方式:
打开所有 50 个电子表格,并将每个表格复制到主表格中。如果所有表格都遵循相同的格式,您甚至可以使用3D 单元格引用,一旦所有工作表都复制到主工作簿中。或者,如果您需要保持与原始文件的有效链接,您可以简单地打开主工作簿和链接工作簿,然后编辑主工作簿中的单元格,键入 = 字符,然后单击链接工作簿中的单元格。
不幸的是,对于 50 个工作簿来说,这仍然是一件非常耗时的事情。问题是 Excel 对安全性非常严格。您不能简单地将文件名列表放在 A 列中,然后使用公式链接到这些文件名。本质上,您可以创建一个可以从计算机上的任何文件中窃取信息的工作簿。因此,Excel 主要要求您打开工作簿以授权和建立链接。话虽如此:
一些自动化方法
看一看这里寻找在 VBA 中或使用插件执行此操作的方法。
一个稍微不那么乏味的替代方案
看一看这里在我之前的回答中,有关于访问外部工作簿的方法。
上述安全限制有一个解决方法。在 A 列中列出所有文件名。然后在下一个单元格中以文本形式构建“公式”,格式为 #'path[filename]Sheetname'!A1 - 但作为单元格中的文本。然后将结果复制粘贴为下一列中的值,然后搜索并替换 # 为 =,这会将所有这些文本值转换为实时和链接的公式。您可能仍需要打开所有工作簿(至少一次?也许?),但它可以节省大量点击次数。请参阅此回答。