在最接近指定date的列表中查找以前的date

我想有VBA代码或公式将采取一个可变的date值,并find它的date列表范围。 如果它找不到我想要find最近的以前的date值的date。 VLOOKUP非常适合查找完全匹配,但我正在努力寻找最近的date。

我唯一的想法是创build一个循环,如果它不匹配,继续从variablesdate中减去一天,直到它可以在列表中find一个匹配。 这似乎不是最好的或最有效的方法,我希望有人可以推荐一个更简单的解决scheme。

例:

 Variable Date = 01/26/2014 Date List 02/04/2014 01/27/2014 01/24/2014 01/13/2014 12/29/2013 Desired Result = 01/24/2014 

任何帮助,将不胜感激。

假设您的date列表在单元格A1:A5并且您的检查date在单元格C1 ,则可以input此函数input为arrays公式:

 =MAX(($A$1:$A$5<=C1)*A1:A5) 

记住,要以数组公式的formsEnter在input公式时Ctrl + Shift + Enter

希望这个伎俩!

我有点不同了,没有数组需要find多less数字是大于那么你正在寻找与CountIf()然后我用=Large这将find第n个date列表中,我们有我们正在寻找第在countIF()

 =LARGE(A:A,COUNTIF(A:A,">="&TODAY())) 

Vlookup可以做到这一点,如果你把最后一个参数设置为true ,它会寻找一个近似的匹配。 您需要将您的date从最旧到最新sorting,并且会返回不在search字词后面的第一个date。