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

Google Sheets中如何使用FILTER函数返回与上一行值不同的行

相邻行差异筛选实现方法

你之前使用的=filter(B:B, B2 <> B1)失效的核心原因是:FILTER函数要求筛选条件的数组长度与待筛选区域的行数完全匹配,你写的条件仅为两个单元格的单次对比,无法逐行完成整列的相邻值差异判断。

可按需选择以下两种实现方案:

方案1:动态数组公式(适配Excel 365、Google Sheets)

仅需输入单条公式即可自动溢出全部结果:

=FILTER(A2:C12, B2:B12 <> VSTACK("", B2:B11))

参数说明:

  • A2:C12:替换为你实际的全量数据区域(不含表头行)
  • B列:替换为你判断相邻值差异的参考列(本案例中为Category列)
  • VSTACK("", B2:B11)的作用是将参考列整体下移一行,第一行补空值,保证第一行数据会被判定为与上一行(空值)不同,正常保留。

如果使用Google Sheets,可用数组简写代替VSTACK,公式可简化为:

=FILTER(A2:C12, B2:B12 <> {""; B2:B11})

方案2:辅助列法(兼容所有版本Excel、各类在线表格工具)

  • 第一步:在数据右侧新增空白辅助列,比如D列,在对应第一行数据的D2单元格输入公式:=B2<>B1
  • 第二步:将D2的公式下拉填充到所有数据行,辅助列会自动返回布尔值:返回TRUE代表当前行参考列的值与上一行不同,属于需要保留的行
  • 第三步:对整表筛选辅助列值为TRUE的行,即可得到目标结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 06:54:04