【问题标题】:Excel formula to say if a date range is available/unavailable from a list of date ranges?Excel公式说明日期范围是否可用/不可用日期范围列表?
【发布时间】:2018-12-25 21:17:16
【问题描述】:

我正在 Excel 中创建一个预订系统,需要一个公式来告诉我给定的日期范围在日期范围(预订)列表中是否可用/不可用。

Chandoo.org here 上有一篇关于测试两个日期范围是否重叠的优秀文章。但是,提供的公式仅在将一组日期范围与另一组日期范围进行比较时才有效。而我需要它来工作/搜索多个日期范围。

=IF(OR(y<a,b<x),"Do not overlap","Overlap")

以下面的预订为例:

*Bookings*
Start Date  End Date
25/01/2019  26/01/2019
29/01/2019  31/01/2019
01/02/2019  03/02/2019

根据上述情况,可提供以下日期:

21/01/2019  24/01/2019
27/01/2019  28/01/2019

如果我为这两组日期中的任何一组输入公式,我希望结果为“可用”。

随后,以下日期不可用:

23/01/2019  26/01/2019
30/01/2019  02/02/2019

...公式应为“不可用”。

据我所知,Chandoo.org 中公式的逻辑在转换为搜索/比较条件数组时不起作用。

我认为我通过在两个单独的 =COUNTIF() 语句中为每个比较 y<ab<x 使用一个数组来接近,但是结果并不总是正确的。

存在一个比较两组单独日期范围的简单公式这一事实使我相信可以推导出一个更复杂的公式,它将单个日期范围与一组日期范围进行比较。

非常感谢任何帮助或指导。 谢谢, J先生。

【问题讨论】:

    标签: excel validation date excel-formula


    【解决方案1】:

    我希望这个解决方案会有所帮助:

    假设您的实际预订存在于 A&B 列(我将您的日期复制到单元格 A3:B5),并且您的四个潜在预订位于 D&E 列(单元格 D1:E4),您可以将以下公式粘贴到第一行:

    =IF(COUNTIFS($A$3:$A$5,"="&E1)+COUNTIFS($A$3:$A$5,"="&D1),"重叠","不重叠")

    将其拖放到其余 3 行。您应该在前两个日期看到“不重叠”,在其余两个预订中看到“重叠”。让我知道这是否是您想要的。

    【讨论】:

    • 太棒了!保重。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多