You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Google Sheets数组公式生效:按指定规则去重保留最后一行

Google Sheets按条件两列去重解决方案

可直接使用的公式

粘贴到输出区域的首个单元格即可生效:

=LET(
  data,'raw data'!A2:H37,
  row_num,SEQUENCE(ROWS(data)),
  key,IF(INDEX(data,,2)="",row_num,INDEX(data,,1)&"|"&INDEX(data,,2)),
  filter_row,BYROW(row_num,LAMBDA(x,x=MAX(FILTER(row_num,key=INDEX(key,x))))),
  SORT(FILTER(data,filter_row),1,1)
)

如果你的表格数据范围不是A2:H37,自行修改公式里的'raw data'!A2:H37部分即可。

逻辑说明

完全匹配要求的3条规则:

  • B列为空时,直接用当前行号作为去重键,确保所有B列空的行不会被判定为重复,全部保留
  • B列非空时,用A列+B列的拼接值作为去重键,相同组合视为重复项
  • 仅保留每个去重键对应的最大行号的行,保证重复项永远保留最后出现的那一行
  • 最终结果按原始数据的顺序排列,不会打乱原有行序

原公式失效原因

原公式嵌套了多层SORT、UNIQUE、VLOOKUP函数,VLOOKUP匹配空值拼接的键时容易出现匹配错位,多层排序也会导致原始行号的对应关系混乱,最终无法符合去重规则。

内容的提问来源于stack exchange,提问作者HSHO

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 03:15:00