【问题标题】:Excel data validation using conditional check使用条件检查的 Excel 数据验证
【发布时间】:2019-08-12 04:39:38
【问题描述】:

我正在尝试向以下场景添加验证...

输入单元格 A5 的日期必须大于单元格 B4 中的日期 和 如果存在,它必须小于单元格 B5 中的日期。

以下自定义数据验证不起作用....

=AND(A5>B4,IF(ISBLANK(B5),TRUE,A5<B5))

虽然我可以通过 VBA 验证这一点,但我想尽可能避免这种情况。

【问题讨论】:

标签: excel validation conditional


【解决方案1】:

我已经使用数据验证规则完成了它,但我必须承认这不是最优雅的方式。

我的 Excel 不是英文的,所以我会尝试翻译。

我选择了:

  1. 允许日期
  2. 重要提示:取消选中忽略空格
  3. 数据之间
  4. 初始日期 = B4+1(+1 因为它必须大于
  5. 结束日期 = =(IF(B5="";73050;B5-1))

是的,如果 B5 为空,我们必须使用公式 End Date,它将返回 73050。 73050 等于 2099 年 12 月 31 日(如您所见,范围很大)。您可以根据自己的需要进行调整。这就是为什么我说这不是最优雅的方式。

不让我们测试它。我在 B4 中的日期是 2019 年 3 月 1 日。B5 为空,因此 A5 中的日期必须大于大于 2019 年 3 月 1 日。

它工作正常。让我们看看我们输入的日期是否等于或小于 2019 年 3 月 1 日,而 b5 为空

它也有效。出现错误消息,您无法将此值保存到单元格中。

现在,如果我们在 B5 中输入日期,数据验证规则只允许两个日期之间的值,不包括初始日期和结束日期。来看看吧:

请注意我在上一张图片中测试的日期为 2019 年 3 月 31 日。这是不允许的,因为 B5 是 2019 年 3 月 21 日。但如果 B5 为空,是的,因为它更大,所以允许比 B4。

所以这里的技巧可以分为两部分:

  1. 如果 B5 为空,数据验证规则将只接受 b4 和 2099 年 12 月 31 日之间的日期
  2. 如果 B5 不为空,数据验证规则将只接受 B4 和 B5 之间的日期

这是我能得到的最好的。希望你能适应你的需要。

【讨论】:

  • 这是一种享受——正是我所需要的。非常感谢您的解释 - 我很感激。在必要的地方进行调整应该很简单。
  • 谢谢@MarkyD。请,如果此答案对您有用,请将其标记为正确,以便关闭问题。
【解决方案2】:

更新

我已经设法通过重新测试来使验证工作......并删除“忽略空白”复选框(感谢下面答案中的提示)。

=AND(A5>B4,IF(B5 <> "",A5<B5, TRUE))

我假设只要 ISBLANK 返回 false,验证就会失败。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多