在Excel中检查日期是否在日期范围内,其中列表中有多个日期范围,并输出相应的范围标签。

3
如何在Excel中检查一个输入日期是否落在两个日期(即日期范围)之间,其中日期范围存在于日期范围列表中?
因此,我需要检查输入日期是否落在任何日期范围内,如果是,则返回与其匹配的日期范围的值。请参见下面的表格以获取示例。
月份 开始日期 结束日期 Month 1 1/1/2022 1/31/2022 Month 2 2/1/2022 2/27/2022 Month 3 3/1/2022 3/31/2022
输入日期 预期结果 = 月份 1/25/2022 Month 1 2/3/2022 Month 2
我尝试使用=IF(AND(A2>StartDate,A2

我该如何调整代码来处理第一列不是“mmm”格式的任意值?例如,如果我将其标记为 Month 1,Month 2 等等,我该如何获取“Month 1”的值? - supermariowhan
@MayukhBhattacharya - 我已经编辑了问题,考虑到月份列可以是任何值,而不是常规日期格式。我该如何返回“第1个月”的值? - supermariowhan
这对月列中的任何值都不起作用。我正在尝试使其具有动态性。如果“第1个月”为“abcdefg”,第2个月为“gasdgsg”,则如果输入日期在该范围内,我需要返回“abcdefg”。 - supermariowhan
请注意,我在答案中再次编辑了解决方案,“XLOOKUP()”应该能够正常工作。 - Mayukh Bhattacharya
3个回答

2
您可以尝试使用以下任一公式,如下所示:

FORMULA_SOLUTION


• 单元格 B7 中使用的公式
=XLOOKUP(1,(A7>=$B$2:$B$4)*(A7<=$C$2:$C$4),$A$2:$A$4,"")

如果没有使用XLOOKUP()的权限,则可以使用INDEX()和MATCH()。

enter image description here


• 单元格C7中使用的公式
=INDEX($A$2:$A$4,MATCH(1,(A7>=$B$2:$B$4)*(A7<=$C$2:$C$4),0))

1
这回答了问题。谢谢! - supermariowhan

1
你可以使用FILTER函数从“月份”列中返回适当的项目。
如果你的日期范围在名为dateRange的表中,而输入日期G2中:
=FILTER(dateRange[Month],(G2>=dateRange[Start Date]) * (G2<=dateRange[End Date]))

enter image description here


1
如果您只需要输入日期所指的月份的文本输出,那么您可以这样做:
=TEXT(A2,"mmmm")

或者您需要的是超出您所举例的范围之外的内容吗?


我已经编辑了问题,以考虑月份列作为任何值,而不是常规日期格式。如何返回值“第1个月”? - supermariowhan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接