现在问题是公式返回最接近的值,无论其值是高还是低。我只需要接受低于值。
{=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中的内容。如果你能想到一个更好的方法,这不一定是一个索引匹配公式,但我非常肯定它必须是一个数组公式,因为它必须查看所有值才能做出正确的决定。
答案 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的第一个最大值。