我在工作簿中有大约30个不同的工作表,每个工作表都有超过30k的条目。在每行的第二列中,有一个文件路径。
此文件名可以是任何内容。另一方面,我有一个大约450个不同文件名的列表,我正在检查。
如果文件路径不包含任何450个文件名,那么我希望删除该行。
我正在尽可能快速有效地做到这一点。我对VBA和Excel不是很有经验。
答案 0 :(得分:3)
在不编写任何VBA的情况下,一种简单的方法是使用VLOOKUP:
=VLOOKUP(A1, <absolute_reference_to_file_list>, 1, TRUE)=A1
然后使用过滤工具删除新列中FALSE的所有行。少数列可能会显示“#N / A”;这应该被视为FALSE。
请注意,此方法需要提前对文件名列表进行排序,因为Excel将在文件名列表中执行二进制搜索。
这不是最快的方法,但速度相当快,可能足以满足您的需求。