多个条件的索引匹配需要 return 小于或等于搜索值的最接近值

Index Match with multiple criteria needs to return the closest value that is less than or equal to search value

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

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

供参考:

AO 是美元金额

AN 是一个日期

A 是日期

F 是美元金额

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

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

如果任何一个为假,/ 之后的部分将评估为 0。这会导致一个错误,由于 6,聚合将忽略该错误。14 告诉聚合将结果从最大到最小排序。 1 告诉聚合 return 小于或等于 F2 的第一个最大值。