2

我在一个工作簿中有大约 30 个不同的工作表,每个工作表都有超过 30k 个条目。在每一行的第二列中,有一个文件的路径。

这个文件名可以是任何东西。另一方面,我有一个我要检查的大约 450 个不同文件名的列表。

如果文件路径不包含这 450 个文件名中的任何一个,那么我希望删除该行。

我正试图尽可能快速有效地做到这一点。我在 VBA 和 Excel 方面不是很有经验。

4

1 回答 1

3

一种无需编写任何 VBA 的简单方法是使用 VLOOKUP:

=VLOOKUP(A1, <absolute_reference_to_file_list>, 1, TRUE)=A1

然后使用过滤工具删除新列中所有带有 FALSE 的行。少数列可能会显示“#N/A”;这应该被视为与 FALSE 相同。

请注意,此方法需要预先对文件名列表进行排序,因为 Excel 将对文件名列表执行二进制搜索。

这不是最快的方法,但它相当快,可能足以满足您的需求。

于 2013-07-30T19:32:07.967 回答