日期范围 - 月份包含公式

日期范围 - 月份包含公式

我需要一个公式来查看日期范围,即 1 个日历年内的开始和结束日期,如果命名月份(在固定单元格中)属于该范围,则返回是或否:

ColA              ColB      Fixed cell   Formula would return
01/04/2015     04/06/15       October       No

答案1

这个问题有点模棱两可,评论中有几个未解决的问题。为了涵盖基础知识,我将根据对问题的不同解释提供三个例子。

示例 1

假设:

  • 月份包含是指月份的任何部分(在您的示例中,四月将被视为属于该范围)。如果此假设不正确,请参阅下面的第二个示例。

  • 固定单元格月份输入为月份数字(10而不是October)。如果此假设不正确,请参阅下面的第三个示例。

假设数据在第 2 行,固定单元格为 C2,结果在 D2。以下公式适用于 D2:

=IF(AND(C2>=MONTH(A2),C2<=MONTH(B2)),"Yes","No")

示例 2(包含 = 整个月)

如果月份包含意味着整个月份必须在日期范围内,则可以使用如下公式:

=IF(AND(DATE(YEAR(A2),C2,1)>=A2,DATE(YEAR(A2),C2,DAYSINMONTH(DATE(YEAR(A2),C2,1)))<=B2),"Yes","No")

这会将该月的第一天和最后一天与日期范围进行比较。

示例 3(月份名称)

如果需要将月份输入为月份名称,则可以通过将上述公式中对 C2 的所有引用替换为以下内容来处理:

MONTH(DATEVALUE(C2&" 1"))

这会将月份名称转换为日期(该月的第一天),然后找到其月份编号。因此,例如,示例 1 中的公式将转换为:

=IF(AND(MONTH(DATEVALUE(C2&" 1"))>=MONTH(A2),MONTH(DATEVALUE(C2&" 1"))<=MONTH(B2)),"Yes","No")

另一个注意事项:您的问题表明固定单元格中的月份可能适用于日期范围的集合。如果是这样,如果您将公式复制到其他单元格,则在上述公式中使用 $C$2 而不是 C2 将引用锚定到 C2。

相关内容