Excel 关于公式问题

Excel 关于公式问题,excel,excel-formula,Excel,Excel Formula,我有一个关于Excel中公式的新问题。问题是,我有一张表,sheet2,包含日期和值。目前,我正在使用中的index()和match()函数的组合,根据特定条件(一个是日期)从sheet2到另一个sheet1中获取不同的值 表2中的数据将不时更新,因此数据中的某些日期将明显“消失”,当然,索引匹配公式中会产生错误,无法找到手头的值 我的问题是,如果有一个简单的方法来写公式,如果我们试图从sheet1中找到的日期小于当前日期,请将当前值转换为常量值。伪代码类似于 IF date_to_find f

我有一个关于Excel中公式的新问题。问题是,我有一张表,sheet2,包含日期和值。目前,我正在使用中的index()match()函数的组合,根据特定条件(一个是日期)从sheet2到另一个sheet1中获取不同的值

表2中的数据将不时更新,因此数据中的某些日期将明显“消失”,当然,索引匹配公式中会产生错误,无法找到手头的值

我的问题是,如果有一个简单的方法来写公式,如果我们试图从sheet1中找到的日期小于当前日期,请将当前值转换为常量值。伪代码类似于

IF date_to_find from sheet1 IN sheet2 > todays_date Then
    Set value to constant (do not evaluate formula)
Else
    Find value in sheet2 where the dates are matched in both sheet1 and sheet2
End
我知道最简单的方法可能是在VBA中实现整个过程,但我只是想看看是否有人有更好的解决方案

表1中的当前公式为

因此,如果当前日期为“2013-05-17”,则公式计算结果完美,返回值为400.000。但是明天,“2013-05-18”,不需要更改单元格(2013-05-17的值已经过去),所以我现在想修正这个值,这样公式就不会再尝试在表2中找到“2013-05-17”。也就是说,我希望单元格F872只说“400.000”,而不是“IFERROR(INDEX(…)”

谢谢,
Niklas

您可以将您的公式封装在一个IF语句中,如下所示:

=IF(A872<TODAY(),[your formula],[constant value])
=IF(A872
=IF(A872<TODAY(),[your formula],[constant value])