如何用XLOOKUP查找指定人员特定日期前的最近开始日期?
解决指定日期之前最近开始日期的查找问题
问题原因
你使用=XLOOKUP(A3,N2:N10,I2:I10,,-1,1)返回#N/A的核心原因是:XLOOKUP的匹配模式-1(查找小于等于 lookup_value 的最大值)要求查找区域(N2:N10)必须按升序排列,如果你的日期列没有升序排序,就会触发错误。另外要确认N列的日期是真正的日期格式(而非文本型),可以用=ISNUMBER(N2)验证,返回TRUE才是有效日期。
解决方案
方案1:调整数据排序+修正XLOOKUP公式
- 选中N列(日期列),点击「数据」选项卡的「升序」排序,确保日期从小到大排列。
- 使用以下公式:
参数说明:=XLOOKUP(A3, N2:N10, I2:I10, "无匹配", -1, 1)-1:匹配模式,查找小于等于A3的最大日期1:搜索模式,按升序搜索(需配合升序排列的查找区域)
方案2:无需排序的数组公式
如果不想调整数据排序,可以使用INDEX+MAX+IF的组合公式(新版Excel直接回车,旧版需按Ctrl+Shift+Enter确认):
=INDEX(I2:I10, MAX(IF(N2:N10<=A3, ROW(N2:N10)-ROW(N2)+1, 0)))
这个公式会先筛选出所有小于等于A3的日期,找到其中最大的行号,再返回对应I列的开始日期。
内容的提问来源于stack exchange,提问作者Jose Beltran
相关产品推荐
相关产品推荐

