过去几天我一直在努力解决这个问题。以下是我所拥有的和需要的:
我有大约 20 张 Excel 工作表,其中包含大量数据(每张工作表约 50K 行),需要进行过滤。已应用自动过滤器,因此我只需选择数据即可。现在,当我手动选择数据时,我需要长达两个小时才能得到我想要的数据。现在想象一下,如果要重复执行此操作...
我无法使用宏,因为有些项目长达 800 个字符!(宏每个命令最多可以使用 255 个字符)。
复制过滤器中的“挑选”过程(而不是挑选后得到的结果)似乎合乎逻辑,但我不知道如何做。
有人有什么想法或建议吗?
答案1
我建议使用数据库,对于选择过程,我建议使用 SQL。
20 张表 * 50,000 行对于电子表格来说相当庞大,但对于数据库来说不算什么。
您可以为此使用 MS SQL 的 Express 版本,该版本可免费授权供个人和商业使用,并且具有与 Excel 的出色协作功能。
您可以将电子表格连接为外部表,您可能无法从 SQL 写入电子表格,但您的搜索速度将比现在快得多。
答案2
您也许可以使用 Microsoft 发布的一款或两款新插件在 Excel 中解决这个问题。
我会先使用 Power Query,然后用它将 20 张工作表合并到一个 Excel 数据模型表中,也许还会添加一个额外的列,这样您就知道这些工作表来自哪里。数据模型格式会压缩数据,因此 100 万行的数据量应该没问题。
然后我将使用 Power Pivot 创建数据透视表,并使用切片器和/或数据透视表过滤器来满足您的“挑选”要求。