Excel 函数 IF + 今天

Excel function IF + today

我试图弄清楚哪里出了问题以及如何更改此功能,该功能去年似乎运行良好,但现在却不行。

=IF(YEAR(D31)=2021,"已测试",IF(E31-TODAY()<0,"测试日期已过",IF(E31-TODAY()<30,"本月需要测试"," ")))

E31 是 =D31+91 所以它给出日期 10-05-2021

目的是为了表明如果测试日即将到来,G 列应该显示“本月需要测试”,而应该显示的是“已测试”。知道这里出了什么问题吗?

像这样的嵌套 IF 函数将 return 它找到的第一个真值。这条语句的写法,它发现首先检查的日期是2021年,因此忽略其他检查(因为它们在外部IF函数的value_if_false部分)。
想一想您要检查这些内容的顺序 - 如果一个单元格可以满足多个条件,它应该显示哪个?我猜你首先想知道它是否过期,然后是这个月是否需要,然后是 2021 年(因为这是测试结果重叠的顺序)。

您可以重组您的查询,使嵌套测试位于 value_if_true 部分,或者以相反的嵌套顺序重新编写语句。

所以,要么像这样:

=IF(YEAR(D31)=2021,IF(E31-TODAY()<30,IF(E31-TODAY()<0, "Testing Date expired", "Testing required this month"),"Tested"),"")

或者像这样:

=IF(E31-TODAY()<0, "Testing Date Expired", IF(E31-TODAY()<30, "Testing Required this Month", IF(Year(D31) = 2021, "Tested", "")))