我正在处理一个Excel公式,它将在同一工作簿中的不同工作表上引用一个表,并返回基于当前日期的值。到目前为止,我已经能够使用这个公式来返回我想要的值。我已经包含了一个公式示例表来显示方法。Excel公式在最近或相等的日期返回值
https://i.stack.imgur.com/ThwL0.png
=VLOOKUP(TODAY(),TRANSACTIONS!A:D,4,FALSE)
在这个作品中,缺陷是它会返回#N/A如果没有线,具有精确匹配的日期。在上表的情况下,交易不会每天发生,因此如果TODAY()返回的给定日期与所示表格中的任何行不匹配,则会破坏公式。我的表格还包含“计划”或“预期”的交易,这些交易存在于未来的意义中,我不能依靠MAX()函数来提供正确的结果
所以,我正在寻找一个调整公式,该公式将始终返回一个值,即使当前日期与任何行完全不匹配。使用上面的图像作为参考,如果TODAY()返回的日期为2/20/17,则它应该给出的结果应该是D5中的值1566.相反,如果日期是2/28/17,它应该返回D7中的值,1182.
任何可以实现这些结果的建议都可以使用。让我知道你是否需要进一步澄清。谢谢!
这似乎是工作......我很好奇,虽然 - 我已经明白它的IFERROR函数只是在VLOOKUP没有返回有效值时返回D2的值。这通常意味着,在VLOOKUP中使用的日期在表格中列出的日期之间,我所能得到的唯一值就是D2的值,但似乎并非如此。 – tbozeglav
VLookup的第四个参数设置为TRUE,它告诉Excel不要查找完全匹配(如FALSE所做的那样)。有关详细信息,请参阅MSDN文档。由于我解决了您的问题,因此您可能需要将答案标记为已接受。谢谢! – user3598756
@tbozeglav,它不再适用于你吗? – user3598756