我有一张表格,其中包含产品的发布日期和版本:
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日的最新版本。
我在考虑使用index
和match
,但我不确定如何让它返回最新版本。
编辑:这是我尝试过但又一次,我不知道如何让它返回最新日期。 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
答案 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指出的那样,只有日期按升序排序时,此公式才有效。