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", "")))
我试图弄清楚哪里出了问题以及如何更改此功能,该功能去年似乎运行良好,但现在却不行。
=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", "")))