我需要一个公式来查看日期范围,即 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。