Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我在一个工作簿中有大约 30 个不同的工作表,每个工作表都有超过 30k 个条目。在每一行的第二列中,有一个文件的路径。
这个文件名可以是任何东西。另一方面,我有一个我要检查的大约 450 个不同文件名的列表。
如果文件路径不包含这 450 个文件名中的任何一个,那么我希望删除该行。
我正试图尽可能快速有效地做到这一点。我在 VBA 和 Excel 方面不是很有经验。
一种无需编写任何 VBA 的简单方法是使用 VLOOKUP:
=VLOOKUP(A1, <absolute_reference_to_file_list>, 1, TRUE)=A1
然后使用过滤工具删除新列中所有带有 FALSE 的行。少数列可能会显示“#N/A”;这应该被视为与 FALSE 相同。
请注意,此方法需要预先对文件名列表进行排序,因为 Excel 将对文件名列表执行二进制搜索。
这不是最快的方法,但它相当快,可能足以满足您的需求。