索引与多个条件匹配需要返回小于或等于搜索值的最近值

时间:2017-09-19 22:47:41

标签: excel excel-formula array-formulas

现在问题是公式返回最接近的值,无论其值是高还是低。我只需要接受低于值。

{=INDEX($AO$2:$AO$5000,MATCH(SMALL(IF($AN$2:$AN$5000=A2,ABS($AO$2:$AO$5000-F2)),1),IF($AN$2:$AN$5000=A2,ABS($AO$2:$AO$5000-F2)),0))}

供参考:

AO是美元金额

AN是日期

A是日期

F是美元金额

我们希望将AN中的日期与A匹配,然后在AO中找到小于或等于F的最接近的美元金额。同一天可能有多个实例,且金额不同。我们只需要最接近的一个而不必过去返回F中的内容。如果你能想到一个更好的方法,这不一定是一个索引匹配公式,但我非常肯定它必须是一个数组公式,因为它必须查看所有值才能做出正确的决定。

1 个答案:

答案 0 :(得分:0)

=AGGREGATE(14,6,($AO$2:$AO$5000)/(($AN$2:$AN$5000=A2)*(($AO$2:$AO$5000)<=F2)),1)

如果其中任何一个为假,则/将评估为0。这导致一个错误,聚合将由于6而忽略.14告诉聚合器将结果从最大到最小排序。 1告诉聚合返回小于或等于F2的第一个最大值。