选择与时间框架中的最新日期关联的值



我在开发一个Excel公式时遇到了问题,该公式可以选择给定时间段内的最新日期。如果我在Excel中有这个:

日期|值2015年1月1日| 82015年1月26日| 62015年2月24日|32015年3月22日| 72015年4月2日| 82015年4月9日| 9

我想要一个公式,可以挑出Jan 1 2015March 31 2015之间的最新日期(所以March 22 2015),然后给出它的值(7)。

第二部分我认为使用VLOOKUP很容易,但第一部分我很困惑。我曾考虑过使用多个嵌套的IF语句,但其中有很多条目似乎过于耗时。

您可以使用这个正则公式(不需要ctrl+alt+enter),调整范围以适应:

=VLOOKUP(MAX(INDEX((A2:A7>=--"1/1/2015")*(A2:A7<=--"3/31/2015")*A2:A7,)),A2:B7,2,FALSE)

您可以使用以下数组公式计算某个范围内的最大日期:

=MAX(IF((A2:A10>=startDate)*(A2:A10<=endDate),A2:A10)

A2:A10替换为您的范围,然后输入日期。按Ctrl+Shift+Enter 确认

=VLOOKUP(MAX(A:A*(A:A>=DATE(2015;1;1))*(A:A<DATE(2015;3;31)));A:B;2;FALSE)

然后按CTRL+SHIFT+ENTER。

A: A是包含日期的列B: B是值为的列

请尝试:

=INDEX(B:B,MATCH(MAX(IF(A:A<42094,A:A)),A:A,0))  

使用Ctrl+Shift+Enter键。

示例显示Jan 1 2015(感谢您披露月/日约定),但为了避免最新可用日期早于时间框架开始时的错误返回:

=INDEX(B1:B11,MATCH(MAX(IF(A1:A11<42094,IF(A1:A11>42005,A1:A11)),0),A1:A11,0))  

(也是一个数组公式,其范围已被限制以降低延迟的风险)。

1900日期系统。

最新更新