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

在Google Sheets中查找匹配Campaign名称的最后非零非空行值

问题

在Google Sheets中,需要在F列找到与当前行D列(比如D23)的Campaign名称匹配的行里,最后一个非零且非空的值,目标让F23返回2374。

  • 常见的Excel专属公式=LOOKUP(1,1/(L:L>0),L:L)在Google Sheets里不生效
  • 已找到能返回列中最后非零非空值的公式,但不知道如何把D$2:D22 = D23的筛选条件整合到INDEX函数中,当前公式:
    =if({{separate_formula_that_fetches_value_from_other_sheet}})=0, INDEX((FILTER(D$2:F22,NOT(ISBLANK(D$2:F22)))), (ROWS(FILTER(D$2:F22,NOT(ISBLANK(D$2:F22))))),3))
    
解决方案

直接把匹配条件加到FILTER的筛选规则里,同时加上非零非空的判断,再用INDEX取最后一行的对应列即可。

适合F23单元格的公式如下:

=IF({{separate_formula_that_fetches_value_from_other_sheet}}=0, 
  INDEX(
    FILTER(F$2:F22, D$2:D22=D23, F$2:F22<>0, NOT(ISBLANK(F$2:F22))),
    ROWS(FILTER(F$2:F22, D$2:D22=D23, F$2:F22<>0, NOT(ISBLANK(F$2:F22))))
  ),
  {{separate_formula_that_fetches_value_from_other_sheet}}
)

公式说明

  • FILTER(F$2:F22, D$2:D22=D23, F$2:F22<>0, NOT(ISBLANK(F$2:F22))):筛选出D列与当前行D23匹配、F列非零且非空的所有值
  • ROWS(...):获取筛选结果的行数,用来定位最后一行
  • INDEX(..., ROWS(...)):取筛选结果里的最后一个值
  • 外层IF保留你原有的逻辑:当其他表的取值为0时,用上述结果,否则用原取值

如果担心筛选结果为空(比如没有匹配的非零非空值),可以加容错处理,返回空或指定值:

=IF({{separate_formula_that_fetches_value_from_other_sheet}}=0, 
  IFERROR(
    INDEX(
      FILTER(F$2:F22, D$2:D22=D23, F$2:F22<>0, NOT(ISBLANK(F$2:F22))),
      ROWS(FILTER(F$2:F22, D$2:D22=D23, F$2:F22<>0, NOT(ISBLANK(F$2:F22))))
    ),
    ""
  ),
  {{separate_formula_that_fetches_value_from_other_sheet}}
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 19:25:28