Excel单列表格中查找小于等于及大于等于查找值的最近匹配值
前提说明
你当前使用的A列查找区域已为升序排列(这也是你之前用VLOOKUP近似匹配能正常生效的必要前提),获取等于或大于查找值的标准值可参考以下两种适配不同Excel版本的方案:
方案1:适配Office 365/2021及以上版本
使用XLOOKUP公式更简洁,直接在目标单元格输入:=XLOOKUP(D1,A2:A6,A2:A6,,1)
参数说明:最后一位的1为匹配模式标识,代表未找到精确匹配值时,自动返回大于等于查找值的最小项。
方案2:兼容所有Excel版本
方式A:COUNTIF+SMALL组合(逻辑更易理解)
公式:=SMALL(A2:A6,COUNTIF(A2:A6,"<"&D1)+1)
逻辑:先统计查找区域中小于查找值的数值总个数,加1后即为第一个大于等于查找值的数值在升序序列中的排序位置,用SMALL函数取出对应位置的数值即可。
方式B:INDEX+MATCH组合
公式:=INDEX(A2:A6,IFERROR(MATCH(D1,A2:A6,0),MATCH(D1,A2:A6,1)+1))
逻辑:优先尝试精确匹配查找值,匹配失败时先定位到小于等于查找值的数值位置,取后一位的数值即可。
边界处理补充
如果查找值大于查找区域的所有数值,上述公式会返回错误,你可以根据需求用IFERROR做兼容,比如要返回区域最大值的话可以修改为:=IFERROR(原公式,MAX(A2:A6))
内容的提问来源于stack exchange,提问作者alejnavab
相关产品推荐
相关产品推荐

