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

Google Sheets中按条件横向查找最后一个符合条件的单元格

Google Sheets 横向查找分组最后一次销售月份解决方案

可行公式方案

假设月份数据在第一行B1:D1,对应分组的销售数值在下方行(如B2:D2对应group 1,B3:D3对应group 2),目标列返回对应分组最后一次销售的月份,可使用以下两种方案:

方案1:XLOOKUP + SORTBY 组合(适配任意销售值排序场景)

在目标单元格(如I2)输入公式:

=XLOOKUP(MAX(B2:D2), SORTBY(B2:D2, B1:D1, FALSE), SORTBY(B1:D1, B1:D1, FALSE))

将公式向下填充即可适配其他分组行。

方案2:INDEX + MATCH 组合(适配销售值随时间递增场景)

如果你的销售数值是随时间递增的(最新销售的数值最大),可以用更简洁的公式:

=INDEX(B1:D1, MATCH(MAX(B2:D2), B2:D2, 0))

你之前公式失败的原因

你尝试的=LOOKUP(H2,SORT(B2:D2),SORT(B1:D1,B2:D2,TRUE))存在两个核心问题:

  • 逻辑匹配错误:用分组标识H2作为查找值,但SORT(B2:D2)是销售数值的排序结果,两者类型不匹配;
  • LOOKUP的特性限制:该函数要求查找范围必须升序排列,且默认返回匹配到的最后一个值,你用SORT打乱了销售值与月份的对应关系,导致无法正确关联。

公式逻辑说明

  • 方案1:SORTBY(B2:D2, B1:D1, FALSE)按月份倒序排列销售值,SORTBY(B1:D1, B1:D1, FALSE)同步倒序排列月份,再用XLOOKUP定位最大销售值对应的月份,确保找到的是最新时间的销售记录;
  • 方案2:MAX(B2:D2)提取当前行最大销售值,MATCH找到该值在销售列的位置,INDEX返回对应位置的月份,适合销售数值随时间递增的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 00:10:35