【问题标题】:Check if date is between 2 dates sequentially依次检查日期是否在两个日期之间
【发布时间】:2012-09-19 00:47:52
【问题描述】:

我有一个动态的日期列表,例如它们相隔 3 个月,但是这些可能会更改为相隔 5 个月、2 个月等

然后我有一个相隔 1 个月的日期列表。我需要做的是检查相隔 1 个月的列表中的哪个日期位于动态列表中的哪个月份之间。

例如:

动态列表

2012 年 6 月 1 日
2012 年 9 月 1 日
2012 年 12 月 1 日
2013 年 3 月 1 日
2013 年 6 月 1 日

静态列表

2012 年 6 月 1 日
2012 年 7 月 1 日
2012 年 8 月 1 日
2012 年 9 月 1 日
2012 年 10 月 1 日
2012 年 11 月 1 日
2012 年 12 月 1 日
2013 年 1 月 1 日
2013 年 2 月 1 日
2013 年 3 月 1 日
2013 年 4 月 1 日
2013 年 5 月 1 日
2013 年 6 月 1 日

简单地说,它会检查 01-Jun-12 是否出现在 01-Jun-12 和 01-Sep-12 之间。如果是,则返回最早的月份。
然后它会检查静态列表的每一行在动态列表中每两个月之间的位置,然后返回它之前的月份。

即。 Jul 介于 01-Jun-12 和 01-Sep-12 之间,因此将返回 01-Jun-12。 01-Oct-12 介于 01-Sep-12 和 01-Dec-12 之间,因此将返回 01-Sep-12

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    一个简单的 LOOKUP 公式应该这样做:

    假设 A2:A6 中的动态列表和 C2:C20 中的静态列表然后将这个公式复制到 D2 中

    =LOOKUP(C2,A$2:A$6)

    如果 C2

    假设 A2:A6 按照您的示例按升序排列

    【讨论】:

    • 嗯。嗯,这很简单 :) 谢谢,我试图用复杂的 IF/VLOOKUP 来做到这一点
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-11
    • 2017-07-07
    • 2016-05-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多