基于date比较的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
我想返回给定date的最新版本。 例如,如果一个单元格有2/28/2017
,我希望它返回15
,因为版本15是2017年2月28日的最后一个版本。但是对于2/28/2010
,我会让它返回14
14是截至2010年2月28日的最新版本。
我正在考虑使用index
和match
但我不确定如何使其返回最新版本。
编辑:这是我已经尝试过,但又一次,我不知道如何使它返回最新的date。 F2
包含我比较的date(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
的行
这应该适合你。 我设置我的Excel就像你的Excel一样,只要你的数据在A2开始。 第1行中的标题。
=INDEX($A$2:$B$10, MATCH(DATEVALUE("2/28/2010"), $B$2:$B$10,1), 1 )
但是,如果您传入另一个单元格中的date(本例为E1),则可以跳过这样的DATEVALUE()
函数
=INDEX($A$2:$B$10, MATCH(E1, $B$2:$B$10,1), 1 )
这个解决scheme的关键是MATCH
函数的最后一个参数。 这是“小于”的1。
放弃
正如@ScottCraner指出的,这个公式只有在date按升序sorting时才有效。