Google sheets 基于一列删除重复项并保留最后一项

Google sheets 基于一列删除重复项并保留最后一项,google-sheets,Google Sheets,我正试图删除基于一列的重复项,并保留最后一个条目。现在我的公式是保持第一个值 我使用了这篇文章中的公式: 简单的答案是将公式中的0(或false)更改为1(或true),以便VLOOKUP与每个唯一值的最后一个条目相匹配 =ArrayFormula(iferror(VLOOKUP(unique(Data!D:D),{Data!D:D,Data!A:D}, {2,3,4,5},1 ),"")) 这似乎对您的测试数据有效 但这并不是故事的结局 如果将VLOOKUP与此公式一起使用,则数据必须在查

我正试图删除基于一列的重复项,并保留最后一个条目。现在我的公式是保持第一个值

我使用了这篇文章中的公式:

简单的答案是将公式中的0(或false)更改为1(或true),以便VLOOKUP与每个唯一值的最后一个条目相匹配

=ArrayFormula(iferror(VLOOKUP(unique(Data!D:D),{Data!D:D,Data!A:D}, {2,3,4,5},1 ),""))
这似乎对您的测试数据有效

但这并不是故事的结局

如果将VLOOKUP与此公式一起使用,则数据必须在查找列上排序,但在上面的注释中,您表示不能假设数据在查找列上排序。如果你在未分类的数据上尝试这种方法,事情确实会大错特错。因此,您必须在查找列中对其进行如下排序

=ArrayFormula(iferror(VLOOKUP(sort(unique(Data1!D2:D),1,true),sort({Data1!D2:D,Data1!A2:D},1,true), {2,3,4,5},1 )))
唯一轻微的缺点是不包括标题(因为它们会被排序到数据的末尾)

下面是按ID降序排列的相同测试数据

这将给出正确的结果(但不带标题)

只需将

=query(Data1!A:D,"select * limit 0")

在数据上方。

您的数据是否按照您使用的答案进行排序?否,我的数据从A列到Y列进行排序,我在N列中查找重复的列。我使用的公式是:=ArrayFormula(iferror(VLOOKUP(unique(data!N:N)){data!N:N,data!A:Y},{2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28},0)))我认为它应该是可以做到的,但只需用几行和几列模拟一些数据来测试可能的答案就可以了。在这里创建了一个测试电子表格:非常感谢!非常有用!