在最接近指定日期的列表中查找上一个日期

Joh*_*n W 3 excel vba date excel-vba excel-formula

我想要VBA代码或公式将采用可变日期值并在列表日期范围内找到它.如果找不到我希望它找到最接近的前一个日期值的日期. VLOOKUP非常适合找到完全匹配,但我正在努力寻找代码以找到最接近的上一个日期.

我唯一的想法是创建一个循环,如果它不匹配它继续从变量日期减去一天,直到它可以在列表上找到匹配.这似乎不是最好或最有效的方法,我希望有人可以推荐一个更简单的解决方案.

例:

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
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激.

Joh*_*tos 10

假设您的日期列表在单元格中,A1:A5并且您的检查日期在单元格中C1,您可以输入此函数作为ARRAY FORMULA输入:

=MAX(($A$1:$A$5<=C1)*A1:A5)
Run Code Online (Sandbox Code Playgroud)

记住,要将其作为数组公式输入,请在输入公式时按+ + . Ctrl ShiftEnter

希望这样做!