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

Excel函数需求:将返回单元格位置改为返回对应列顶部标签

解决方案

方法1:基于原SUMPRODUCT逻辑修改

直接复用你现有SUMPRODUCT获取的列信息,结合INDEX提取顶部标签:

=INDEX(P28:AD28, SUMPRODUCT((P29:AD37=T11)*COLUMN(P28:AD28)) - COLUMN(P28) + 1)
  • 逻辑:SUMPRODUCT((P29:AD37=T11)*COLUMN(P28:AD28))得到匹配单元格的实际列号,减去COLUMN(P28)再加1,转换成P28:AD28区域内的相对列位置,最终用INDEX提取对应标签。

方法2:用XLOOKUP简化(适用于Excel 365/2021)

如果你的Excel支持动态数组,XLOOKUP能实现更简洁的写法:

=XLOOKUP(TRUE, P29:AD37=T11, P28:AD28)
  • 逻辑:P29:AD37=T11生成布尔匹配矩阵,XLOOKUP定位第一个匹配项的位置,直接返回对应P28:AD28的标签值。

方法3:INDEX+MATCH组合(兼容旧版Excel)

针对不支持动态数组的旧版Excel,用MMULT配合INDEX+MATCH实现需求:

=INDEX(P28:AD28, MATCH(TRUE, MMULT(--(P29:AD37=T11), ROW(P29:P37)^0)>0, 0))
  • 逻辑:MMULT(--(P29:AD37=T11), ROW(P29:P37)^0)计算每列的匹配次数,>0筛选出存在匹配的列,MATCH找到第一个符合条件的列位置,INDEX提取对应标签。

补充说明

  • 若P29:AD37中有多个单元格匹配T11,以上公式均返回第一个匹配单元格所在列的标签;如需返回所有匹配标签,可结合TEXTJOIN:
    =TEXTJOIN(", ", TRUE, IF(MMULT(--(P29:AD37=T11), ROW(P29:P37)^0)>0, P28:AD28, ""))
    
    (旧版Excel需按Ctrl+Shift+Enter作为数组公式输入)

内容的提问来源于stack exchange,提问作者Brew'dude

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 02:42:14