我有一个 Excel 函数,它可以找出过去三十天内AmountNamedRange
第二大金额的指数。DateNamedRange
=ArrayFormula(Match(Large(If(DateNamedRange > Today() - 30, AmountNamedRange, 0), 2), AmountNamedRange, 0))
只要表中没有其他行具有相同金额,此方法就足够了。但是,如果有这样的情况,则此公式给出第一的行中金额与过去 30 天内第二大金额相同的行。我意识到我的解释令人困惑,所以这里有一个例子(假设今天是 2017 年 1 月 31 日):
1 Date Amount
2 12/2/2016 27
3 12/6/2016 66
4 12/15/2016 99
5 1/8/2017 45
6 1/20/2017 27
7 1/22/2017 18
在这种情况下,过去 30 天内第二大金额是 27(索引 6),但我的公式将返回索引 2,因为Match
会找到表中与该金额匹配的第一行。我该如何修改公式以正确返回 6?