基于日期比较的Excel返回值

时间:2016-05-23 20:07:13

标签: excel date

我有一张表格,其中包含产品的发布日期和版本:

Version,    Release Date
7   9/15/2000
8   8/19/2002
9   9/8/2003
10  8/30/2004
11  8/8/2005
12  8/15/2006
13  6/5/2007
14  12/1/2009
15  3/18/2015

我想返回给定日期示例时可用的最新版本。例如,如果一个单元格有2/28/2017,我希望它返回15,因为版本15是截至2017年2月28日的最后一个版本。但对于2/28/2010,我会有它返回14因为14是截至2010年2月28日的最新版本。

我在考虑使用indexmatch,但我不确定如何让它返回最新版本。

编辑:这是我尝试过但又一次,我不知道如何让它返回最新日期。 F2包含我正在比较的日期(2010年2月28日,此示例)

{=IF($F$2>B2:B11,B2:B11)}

Excel将其评估为IF(TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;FALSE},B2:B11),但这将返回9/15/2000。我想返回与上一个TRUE

对应的行

1 个答案:

答案 0 :(得分:2)

这对你有用。只要您的数据在A2中开始,我就像您的一样设置我的Excel。第1行中的标题。

=INDEX($A$2:$B$10, MATCH(DATEVALUE("2/28/2010"), $B$2:$B$10,1), 1 )  

但是如果你传入另一​​个单元格中的日期(本例中为E1),你可以跳过这样的DATEVALUE()函数

=INDEX($A$2:$B$10, MATCH(E1, $B$2:$B$10,1), 1 )

此解决方案的关键是MATCH函数的最后一个参数。这是“小于”的1。

<强>声明
正如@ScottCraner指出的那样,只有日期按升序排序时,此公式才有效。