Range1 是 2021 年 6 月 1 日-2021 年 11 月 30 日,Range2 是 2021 年 8 月 15 日-2022 年 3 月 1 日(Range2 可以是任何其他日期范围)。我想看看 Range2 有多少个月与 Range1 相交。答案应该是 4,因为 11 月、10 月、9 月和 8 月的一部分与 Range2 相交。在我的问题中,即使是 3 个月零 3 天,我也会说 4 个完整的月份。但是,我没有将月份的第一天算作一个完整的月份。
例如,Range1 是 2021 年 6 月 1 日 - 2021 年 11 月 1 日,Range2 是 2021 年 2 月 1 日 - 2021 年 10 月 1 日,那么答案应该是 4,因为六月、七月、八月和九月与 Rang1 相交。请注意,我没有计算 2021 年 10 月 1 日,所以答案不可能是 5。
答案1
如果有 Office 365 Excel,我们可以使用 FILTER 返回一致的月份。使用 Unique 返回唯一列表。然后使用 count 计算月份数:
=COUNT(UNIQUE(FILTER(MONTH(SEQUENCE(B1-A1,,A1)),ISNUMBER(MATCH(SEQUENCE(B1-A1,,A1),SEQUENCE(B2-A2,,A2),0)),"")))
SEQUENCE 返回从第一天开始并在结束日期前一天结束的数组。然后我们使用 MATCH 来查看该日期是否在第二个日期列表中。如果是,我们返回第一个日期的月份。
UNIQUE 将仅返回两个列表中的月份数字,而 COUNT 将对它们进行计数。