我使用了一个名为的辅助列Helper
对字母进行排序Condition 2
首先按字母顺序使用以下公式(将其向下拖动以应用于所有行):
=COUNTIF(Condition_2,"<="&Condition_2)
然后使用以下公式找到最佳匹配(尽管它是一个数组公式它不需要被确认Ctrl+Shift+Enter
):
=INDEX(Product1,MATCH(AGGREGATE(15,6,Helper/((Condition_1>=77)/(Condition_2>="H")),1),Helper,0))
更换命名范围将上述公式与工作表中的实际范围相结合。
Replace ,
with ;
作为适合您的系统的所有公式中的分隔符。
EDIT #2
基于新的场景,问题可以通过以下方式解决总计的函数仅给出查找值是一个数字(EAN
)
单元格中的公式J2
我上面的例子是:
=AGGREGATE(15,6,EAN/((DIMENSION=F2)/(LOAD_INDEX>=G2)/(SPEED_INDEX>=H2)),1)
请注意以下全部内容命名范围需要替换为工作簿上的实际范围:
-
方面 being
B2:B8
-
加载索引 being
C2:C8
-
速度指数 being
D2:D8
-
EAN being
A2:A8
如果您不想显示错误#NUM!
如果没有匹配结果,您可以使用IFERROR返回一个空白单元格,如单元格中所示J3
我的例子。公式为:
=IFERROR(AGGREGATE(15,6,EAN/((DIMENSION=F3)/(LOAD_INDEX>=G3)/(SPEED_INDEX>=H3)),1),"")
EDIT #3
请使用以下数组公式(需要按确认Ctrl+Shift+Enter) 找到最接近的匹配LOAD INDEX
and SPEED INDEX
在一个的帮助下Helper
column.
{=INDEX(EAN,MATCH(AGGREGATE(15,6,Helper/((LOAD_INDEX/((DIMENSION=G2)/(LOAD_INDEX>=H2)/(SPEED_INDEX>=I2)))=AGGREGATE(15,6,LOAD_INDEX/((DIMENSION=G2)/(LOAD_INDEX>=H2)/(SPEED_INDEX>=I2)),1)),1),Helper/((LOAD_INDEX/((DIMENSION=G2)/(LOAD_INDEX>=H2)/(SPEED_INDEX>=I2)))=AGGREGATE(15,6,LOAD_INDEX/((DIMENSION=G2)/(LOAD_INDEX>=H2)/(SPEED_INDEX>=I2)),1)),0))}
逻辑是首先找到最接近的匹配LOAD INDEX
然后找到最接近的匹配SPEED LIMIT
从最接近匹配的范围到LOAD INDEX
.
如果您不想再次显示#NUM!
没有匹配结果的错误,你可以使用IFERROR返回所需的结果。
如果有任何问题请告诉我。干杯:)