【发布时间】:2018-11-29 23:16:11
【问题描述】:
我在这里写了一个复杂的INDEX 公式,我真的很接近解决方案。
- 下面的
INDEX根据两个条件匹配数组的行 以及基于其他地方的字符串的列。 - 我正在使用
ROW函数来模拟MATCH函数以传递给INDEX, 和N(IF())取消引用INDEX函数并将值数组传递给MIN函数。 - 我使用
ROW而不是MATCH因为MATCH(1,,)只会返回 第一个值为 6 TRUE,由这两个条件得出。
除了一个问题外,这一切都有效:我在N(IF(1,ROW())) 之后传递给INDEX 的数组仍然有一堆0。例如,它得到 "{0,0,0,0,22,23,24,0,0)" 所以INDEX 传递了 "{54,54,54,54,87,91,78,54,54 }" 到 MIN 函数。
因此我的问题。我觉得我真的很接近答案,但我被卡住了。如果我能以某种方式从数组中删除 0,以便只将“{22,23,24}”传递给INDEX,那么我的工作表中的一切都会正常工作。
=IF($H$9="","",
MIN(INDEX($A$9:$Z$5000,
N(IF(1,ROW($A$1:$A$4991)*(M$3=$H$9:$H$5000)*($X$6=$A$9:$A$5000))),
MATCH($H4&CHAR(10)&CHAR(10)&CHAR(10)&$V$3&CHAR(10)&"(lbs)",$A$8:$Z$8,0))))
【问题讨论】:
-
请注意:由于您使用
$A$9:$Z$5000作为索引范围并返回行号,因此您的数据将关闭。索引需要一个相对位置而不是行号。因此,如果该区域的第一行符合您的条件,它将返回9到索引,该索引将返回位于范围第 9 行的值或A17:Z17 -
好收获!谢谢,修正了问题中的错字。
标签: excel