我有一个超过10万行的电子表格 - 每行都有一个文档名称(文件名)和修订版代码。有些文档在同一列中列出两次,但这是因为我第二次收到文档时它是文档的修订版,在B列中注明。例如,
File Name Revision
25697-100-3DR-J04F-00003 002
25697-100-3DR-J04F-00003 001
我希望excel做的只是将行保留在文件的最新副本中。在此示例中,我只想保留包含修订版002的行并删除包含修订版001的整行。此外,由于对该文件进行了9次修订,因此有一些文件已被列出9次。非常感谢任何帮助!!
答案 0 :(得分:0)
不是VBA,但这是一个用于标记要删除的单元格的数组公式。文件名顺序并不重要。假设Filename是a列而修订是b列,请将其放在c列中。因为它是一个数组公式,所以它需要大括号(使用ctrl shift enter)。
{=IF(B2=MAX(IF($A$2:$A$11=A2,$B$2:$B$11)),"Keep","Delete")}
输出:
File Name Revision Keep or Delete
a 1 Delete
a 2 Delete
a 3 Keep
b 1 Delete
b 2 Delete
b 3 Keep
c 1 Delete
c 2 Delete
c 3 Keep
d 4 Keep
公式是获取每个文件名的最大修订版本,并检查当前行是否为最大值。