我正在编写一个很大的嵌套IF语句,该语句检查工作表中每一行的几个验证点。有几种日期验证,包括按时间顺序和不是未来日期的某些字段。但是,我们的系统要求,如果我们必须将任何日期设为空以进行处理,则该日期将变为1/1/2500,并且无论我做什么,在考虑未来日期或年表时,我似乎都无法获得忽略此日期的公式。
//The date cannot be later than the current date - I want this to ignore 1/1/2500
IF(K1<>1/1/2500,"",IF(AND(K1>TODAY()),"Date A cannot be future date",""))
//The two dates must be in chronological order, also ignoring 1/1/2500
IF(U1<>1/1/2500,"",IF(AND(U1>AA1,AA1),"Date A, Date B should be in chronological order",""))上面的方法似乎不能识别1/1/2500,即使我让它与其他日期一起工作。
我也尝试过使用>12/31/2099 (忽略任何大于2099年12月31日的日期),但它忽略了每个日期。
任何帮助都将不胜感激。
发布于 2021-02-02 01:04:32
它看起来好像失败了,因为K1与12/31/2099进行了比较。
如果在公式中使用这样的表达式,它会将其解释为算术表达式12除以31除以2099,这是一个非常小的数字,因此大于测试将始终为真。
尝试以Date作为公式的开头,将年、月、日转换为日期。
If(K1>date(2099,12,31)你应该得到正确的答案。
Excel的See my previous answer。
https://stackoverflow.com/questions/65996098
复制相似问题