首页 > 解决方案 > 如何根据另一列计算唯一或最后一次出现的重复值?

问题描述

我在下面附上了一个例子。我有一张类似于图像中原始数据表的大表。我的目标是根据结果表的第一列 (ID) 计算唯一出现的次数。

在原始数据表中,ID 由主 ID 及其子 ID 组成。我想使用结果表中的主 ID 作为参考,以从本质上计算该原始数据表中该主 ID 的出现次数。

但是,原始数据表中有一些重复的 ID。我只想计算绿色的那些(即最后一次出现),而不是计算第一次出现的红色。在此示例中,只有 2 个重复项,但也可能有 3 个重复项。

最后,我想添加原始数据表中的价格,其主 ID 与结果表的总计列中显示的相同。

示例数据

标签: sortinggoogle-sheetsgoogle-sheets-formulaarray-formulasgoogle-sheets-query

解决方案


利用:

=ARRAYFORMULA(QUERY(REGEXREPLACE(""&SORTN(ARRAY_CONSTRAIN(SORT({A3:B, 
 ROW(A3:A)}, 1, 1, 3, 0), 99^99, 2), 99^99, 2, 1, 0), "-\d+", )*1, 
 "select Col1,count(Col1),sum(Col2) 
  where Col1 <> 0 
  group by Col1 
  label Col1'ID', count(Col1)'Count',sum(Col2)'Total'"))

在此处输入图像描述


推荐阅读