Google Sheets使用SORTN函数按递增Counter列去重失败求助
问题原因
你原先使用的SORTN公式逻辑存在参数配置错误:
- 第三个参数设置为
1代表仅返回前N个匹配项,未开启分组去重模式 - 第二个参数传入
rows(J2:J)即返回所有行,完全没有起到去重截断的作用
可行解决方案
方案1:修正版SORTN函数实现
如果你的需求是按指定列判断重复,保留Counter值最大的唯一行,使用以下公式即可:
=SORTN(SORT(I2:N,2,FALSE),9^9,2,[去重判断列序号],FALSE)
参数说明:
- 内层
SORT(I2:N,2,FALSE)先将整个数据范围按Counter列(I:N区间的第2列)降序排序,保证每个重复分组中Counter值最大的行排在最前面 9^9是谷歌表格通用的大数值参数,代表返回所有符合条件的行- 第三个参数
2代表开启分组去重模式,每个重复分组仅保留排序后的第一行 - 最后两个参数替换为你的实际去重判断列序号即可:如果按Counter列去重填
2,如果按I列(区间第1列)去重填1,以此类推
示例:如果你要按I列判断重复,保留对应最大Counter值的行,公式为:=SORTN(SORT(I2:N,2,FALSE),9^9,2,1,FALSE)
方案2:QUERY函数实现
如果你需要用QUERY函数实现相同逻辑,公式参考如下:
=QUERY(I2:N,"SELECT * WHERE Col2 IN (SELECT MAX(Col2) FROM I2:N GROUP BY [分组列名])",1)
把[分组列名]替换为你判断重复的分组列即可:比如按I列分组就填Col1,按I列和K列两个字段判断重复就填Col1,Col3。
内容的提问来源于stack exchange,提问作者Wojciech Chajec
相关产品推荐
相关产品推荐

