即使公式评估结果为“FALSE”,自定义数据验证也会失败

即使公式评估结果为“FALSE”,自定义数据验证也会失败

因此,在提问之前,我要为标题的措辞道歉。我无法找到适合我问题的通用措辞。

我有一张表格,如 Table.JPG 所示表格.JPG

我对 DV1.JPG 中显示的最后两列进行了自定义数据验证DV1.JPG和DV2.JPGDV2.JPG

单元格中的公式L3=AND(NOT(ISBLANK(K3)),ISNUMBER(L3),LEFT(CELL("format",L3),1)="D",L3>=K3, YEARFRAC(K3, L3)>=0.5 )

公式M4=AND(INT(M4)=M4, NOT(ISBLANK(L4)))

两个公式都失败了,如下所示,数据验证不应该允许我输入该用户条目,但事实并非如此。公式评估的图像显示在 FormEval.JPG 中表单评估.JPG

现在问题的动机是,我试图确保续约日期,柱子大号仅当会员有开始日期时才可以输入,并且此续订日期必须距离开始日期至少 6 个月,最后,它必须是一个晚于开始日期的日期,因为年份分数功能有效。

按照上述方法更新ID,柱子必须由用户设置,并且此续订 ID 必须是整数,并且只有在设置了续订日期时才可以输入此值。

根据我目前所做的研究。公式看起来不错,那么为什么在某些情况下会失败(即当依赖列为空时)?

答案1

对于 L3 中的 L 列使用:

=AND(COUNTA($K3),$L3>=EDATE($K3,6))

对于 M3 中的 M 列使用:

=AND($M3-INT($M3)=0,COUNTA($L3))

当测试空日期时,Excel 会将 0 转换为 01-01-1900,这就是验证无法使用 isblank() 的原因,
并且 Edate 会在日期上添加 6 个月

如果单元格非空,则 CountA 计算结果为 True

相关内容