excel验证中的自定义条件,使用OR语句

时间:2017-01-12 15:33:25

标签: excel-formula

我想使用Excel验证仅允许来自此日历年或下一个日期的条目或来自预定义列表的文本。

例如今天是2017年1月12日。 如果输入日期(例如单元格C1),则此日期必须为2017年或2018年。 如果输入了文本,则它必须与预定义列表中的一个条目匹配。 假设这个例子中的列表被命名为'reason'(这些原因会像'待确认','超出计划范围'等等。)

01/12/2019应该被拒绝 应该接受01/12/2018 应该拒绝“超过本月” 应该接受“超越计划范围”

我相信我应该使用自定义验证,但如果有人可以提供语法帮助,我将不胜感激。

1 个答案:

答案 0 :(得分:0)

好的,我们终于做到了(出于某种原因,验证公式不喜欢我的COUNTIF()成为OR()语句的一部分所以我必须将TRUE结果嵌套为单独的IF()声明:

=IF(COUNTIF(reasons,C1)=1,TRUE,OR(YEAR(C1)=YEAR(TODAY()),YEAR(C1)=YEAR(TODAY())+1))

就像你说的那样,这将是自定义验证。请确保$$不要进入,因为需要更新列中的单元格区域。

逻辑是条目是否出现在命名范围内一次然后为TRUE,否则在今年或下一年匹配OR年份(如果条件正确,则默认返回TRUE)。