使用AGGREGATE

时间:2019-06-18 16:55:55

标签: excel excel-formula

更新:我尝试使用索引/匹配来做到这一点,但是最有效的方法是使用AGGREGATE

在利率表中,我希望根据最近的日期得出与正确的期限相关的利率。我希望通过索引匹配来做到这一点,但是如果它们有效地工作,它将对其他公式开放。这些数据将动态更新,这就是为什么我需要一个始终能找到最新日期的公式

的原因

所需输出= 80

电流输出= 71

=Index (A1:E100, And(Max(A2:A100), Match(F1,B1:B100,0)), 4)


Cell F1 = 3Y



Data Table (rows 1 through 00)


A              B     C     D      E

DATE         TENOR INDEX SPREAD END_DATE
9/30/2015 0:00  3M  3ML 21.25   3/31/2016 0:00
9/30/2015 0:00  6M  3ML 21.25   3/31/2016 0:00
9/30/2015 0:00  1Y  3ML 21.25   3/31/2016 0:00
9/30/2015 0:00  3Y  3ML 71.00   3/31/2016 0:00
9/30/2015 0:00  5Y  3ML 98.50   3/31/2016 0:00
9/30/2015 0:00  10Y 3ML 137.5   3/31/2016 0:00
4/1/2016 0:00   3M  3ML 21.25   4/30/2016 0:00
4/1/2016 0:00   6M  3ML 21.25   4/30/2016 0:00
4/1/2016 0:00   1Y  3ML 21.25   4/30/2016 0:00
4/1/2016 0:00   3Y  3ML 73.50   4/30/2016 0:00
4/1/2016 0:00   5Y  3ML 101.00  4/30/2016 0:00
4/1/2016 0:00   10Y 3ML 141.00  4/30/2016 0:00
5/1/2016 0:00   3M  3ML 21.25   5/31/2016 0:00
5/1/2016 0:00   6M  3ML 21.25   5/31/2016 0:00
5/1/2016 0:00   1Y  3ML 21.25   5/31/2016 0:00
5/1/2016 0:00   3Y  3ML 72.50   5/31/2016 0:00
5/1/2016 0:00   5Y  3ML 100.00  5/31/2016 0:00
5/1/2016 0:00   10Y 3ML 140.00  5/31/2016 0:00
6/1/2016 0:00   3M  3ML 21.25   6/30/2016 0:00
6/1/2016 0:00   6M  3ML 21.25   6/30/2016 0:00
6/1/2016 0:00   1Y  3ML 21.25   6/30/2016 0:00
6/1/2016 0:00   3Y  3ML 80.00   6/30/2016 0:00
6/1/2016 0:00   5Y  3ML 107.50  6/30/2016 0:00
6/1/2016 0:00   10Y 3ML 152.50  6/30/2016 0:00

2 个答案:

答案 0 :(得分:2)

特别是因为数据将被更新,并且可能会扩展(或收缩),所以我选择使用带有结构化引用的Table

我还将Tenor选择范围移动到G1,以将其从桌子上移开。

=AGGREGATE(14,6,(Table1[DATE]=MAX(Table1[DATE]))*(Table1[Tenor]=G1)*Table1[SPREAD],1)

您还可以使用:

=MAX((Table1[DATE]=MAX(Table1[DATE]))*(Table1[Tenor]=G1)*Table1[SPREAD])

,但您必须使用 Ctrl + Shift + Enter

确认此数组公式

enter image description here

答案 1 :(得分:0)

您可以使用以下方法做到这一点:

{=INDEX(D2:D24,MATCH(1,(F1=B2:B24)*(MAX(A2:A24)=A2:A24),0))}

确保使用ctrl+shift+enter