使用excel公式在一系列日期中查找准确日期或最近日期

使用excel公式在一系列日期中查找准确日期或最近日期,excel,vlookup,Excel,Vlookup,我试图找到投资成本。我用vlookup来用它。 请参考下图了解更多详细信息 如表1所示,我将实际完成日期和产品编号与表2产品编号和成本日期进行比较 excel表格可在“库存成本”列中找到显示的确切日期和数字。如果找不到,库存成本应显示excel工作表中日期范围内最近的日期 但我的excel vlookup公式不适用。我的excel公式如下: =VLOOKUP(B2和A2,表2!C:D,2,假) 请就此提出建议。谢谢。尝试将VLOOKUP函数的最后一个参数更改为TRUE =VLOOKUP(B2

我试图找到投资成本。我用vlookup来用它。 请参考下图了解更多详细信息

如表1所示,我将实际完成日期和产品编号与表2产品编号和成本日期进行比较

excel表格可在“库存成本”列中找到显示的确切日期和数字。如果找不到,库存成本应显示excel工作表中日期范围内最近的日期

但我的excel vlookup公式不适用。我的excel公式如下:

=VLOOKUP(B2和A2,表2!C:D,2,假)


请就此提出建议。谢谢。

尝试将
VLOOKUP
函数的最后一个参数更改为
TRUE

=VLOOKUP(B2&A2, Sheet2!C:D, 2, TRUE)
将其设置为
FALSE
将查找精确匹配

然而,它给了我一个不同于你期望的结果。

对于需要查找下一个或上一个最接近的结果的情况,我认为使用
索引/匹配
是最合适的

公式是这样的。。。。试试看

=INDEX('Sheet2'!D2:D5;MATCH(CONCATENATE(B2;A2);'Sheet2'!C2:C5;-1))

将这个公式写在sheet1上并向下滚动,让我知道它是否有效:D

如果你想找到最近的日期,你需要像这样的数组公式

=INDEX(Sheet2!D$2:D$10,MATCH(TRUE,IF(B2=Sheet2!A$2:A$10,ABS(Sheet2!B$2:B$10-A2))=MIN(IF(B2=Sheet2!A$2:A$10,ABS(Sheet2!B$2:B$10-A2))),0))
必须使用CtrlShift输入


@Rowen..是的,结果并不是我想要的结果-(谢谢你的反馈!,@Tom..谢谢,先生。我会试试的