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

Google Sheets如何查找行最大值并返回对应列头 适配多节目查询

通用查询公式实现方案

你现有公式的局限性是硬编码了B2:F2的固定行,只要先加一层节目名到目标行的定位逻辑,就能实现下拉自动批量匹配,不需要逐行改公式。

适配Google Sheets/支持FILTER函数的新版Excel公式

直接将以下公式输入「FRONT SHEET」工作表的B2单元格,下拉填充即可适配全量节目查询:

=INDEX('BAR SALES'!$B$1:$F$1,MATCH(MAX(FILTER('BAR SALES'!$B:$F,'BAR SALES'!$A:$A=A2)),FILTER('BAR SALES'!$B:$F,'BAR SALES'!$A:$A=A2),0))

公式逻辑拆解:

  • FILTER('BAR SALES'!$B:$F,'BAR SALES'!$A:$A=A2):自动匹配当前行A列的节目名称,从「BAR SALES」表A列定位到对应节目所在行,返回该行B到F列的全部销售额数据,替代你原公式里写死的固定行区域
  • MAX(...):提取定位到的节目行的最高销售额
  • MATCH(...):定位最高销售额在该行的列位置
  • INDEX(...):从「BAR SALES」表B1:F1的酒吧名称表头行,匹配列位置返回对应酒吧名

适配不支持FILTER函数的旧版Excel公式

如果使用的旧版Excel没有FILTER函数,可以用INDEX+MATCH双层嵌套实现行定位,公式如下:

=INDEX('BAR SALES'!$B$1:$F$1,MATCH(MAX(INDEX('BAR SALES'!$B:$F,MATCH(A2,'BAR SALES'!$A:$A,0),0)),INDEX('BAR SALES'!$B:$F,MATCH(A2,'BAR SALES'!$A:$A,0),0),0))

核心逻辑和上面的公式一致,只是用INDEX('BAR SALES'!$B:$F,MATCH(A2,'BAR SALES'!$A:$A,0),0)替代FILTER做行定位:内层MATCH先找到目标节目在A列的行号,再用INDEX取出该行全量销售额数据。

注意事项

  • 公式中A2为「FRONT SHEET」表存放待查询节目名称的单元格,若你的节目名存放在其他列,直接替换为对应单元格引用即可
  • 若同一节目存在多个酒吧销售额并列最高的情况,公式默认返回最左侧列对应的酒吧名称
  • 公式下拉填充时,表头区域'BAR SALES'!$B$1:$F$1、数据源整列区域'BAR SALES'!$A:$A/'BAR SALES'!$B:$F都是绝对引用,不会偏移,不需要手动调整锁行锁列

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 06:09:24