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

如何用Array Formula判断列中值的重复位置(首次/末次)

用数组公式标记ID的重复位置(首次/中间/末次)

直接上可用的数组公式,假设你的ID数据从A2开始,要在B列生成标记,把公式放在B2单元格:

=ARRAYFORMULA(IF(A2:A="", "",
  SWITCH(
    TRUE,
    COUNTIF(A$2:A2, A2:A)=1, "First",
    COUNTIF(A2:A$1000, A2:A)=1, "Last",
    "In Between"
  )
))

公式说明:

  • ARRAYFORMULA 自动把逻辑应用到整个B列,不用手动下拉填充
  • 开头的IF(A2:A="", "", ...) 是为了跳过A列的空行,避免生成多余内容
  • COUNTIF(A$2:A2, A2:A)=1:统计当前行及以上的同一ID出现次数,等于1就说明是该ID的首次出现
  • COUNTIF(A2:A$1000, A2:A)=1:统计当前行及以下的同一ID出现次数,等于1就说明是该ID的末次出现
  • 剩下的情况直接标记为In Between

优化提示:

如果你的数据行数不确定,把公式里的A$1000改成A:A也可以;若数据量较大,用动态范围能减少计算量,修改后的公式如下:

=ARRAYFORMULA(IF(A2:A="", "",
  SWITCH(
    TRUE,
    COUNTIF(A$2:A2, A2:A)=1, "First",
    COUNTIF(A2:INDIRECT("A"&COUNTA(A:A)), A2:A)=1, "Last",
    "In Between"
  )
))

之前用COUNTIFS没成功,大概率是没正确锁定范围(比如没加$固定起始行),或者没结合数组公式的批量计算逻辑,这个方案应该能解决你的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 03:50:41