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

Excel中如何获取数组函数计算结果对应的单元格行列号

查找排除空值/0值的最低报价对应供应商的方案

不需要额外绕路定位行号再调用INDIRECT,直接用INDEX+MATCH组合的数组公式就能实现,逻辑和你现有的最低值计算完全兼容,稳定性比INDIRECT更好。

  • 推荐直接使用的公式(旧版Excel输入完成后按Ctrl+Shift+Enter确认数组公式,365/2021及以上版本直接回车即可生效):
=INDEX(A1:A35,MATCH(MIN(IF(B1:B35<>0,B1:B35)),B1:B35,0))

公式逻辑拆解:

  1. 完全保留你原有的MIN(IF(B1:B35<>0,B1:B35))计算逻辑,先过滤掉B列的0值、空值,算出有效报价里的最小值
  2. MATCH函数直接在B1:B35的报价区间内定位这个最小值所在的相对位置
  3. INDEX根据匹配到的位置,直接从A列供应商区间取出对应的名称,不会因为后续插入/删除行列出现引用错位的问题。

如果你坚持要用INDIRECT的写法,先取行号再拼接引用也可以,对应公式如下:

=INDIRECT("A"&MATCH(MIN(IF(B1:B35<>0,B1:B35)),B1:B35,0))

其中定位最小值行号的核心逻辑就是MATCH(MIN(IF(B1:B35<>0,B1:B35)),B1:B35,0),返回的结果就是最低报价在B1:B35区间内的相对行号。

注意:如果有多个供应商报了相同的最低有效报价,以上公式会默认返回从上到下第一个匹配到的供应商名称,需要提取全部同价供应商的话要额外增加数组筛选逻辑。

内容的提问来源于stack exchange,提问作者Mr. T

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 06:03:21