excel表格_excel函数公式大全_execl从入门到精通
EXCEL区间查询匹配(模糊匹配)几种方法2024-04-12 03:18:21
如图,我们的任务是需要根据各位员工的工资水平匹配岗位称职。
主要有以下三种方法:
(一)多层嵌套IF函数
在D2输“=IF(C2<5001,$G$2,IF(C2<8001,$G$3,IF(C2<12001,$G$4,IF(C2<20001,$G$5,$G$6))))”,然后下拉,使用IF函数进行5层嵌套,比较粗暴麻烦,随着分类规则增多,嵌套层数会更多,不适合我国现行的科学发展观,是一种淘汰的方法。
(二)INDEX+MATCH函数,高效匹配区间
首先根据薪资职称对应表构建一个范围表,每个职称对应薪资空间的最大值,最高职称对应值可根据薪水列表情况进行设定,大于所有员工薪水最高值即可,如下图。
在D2单元格输入INDEX+MATCH函数,INDEX函数的第一个参数是职称指定区域,第二个参数是相对位置,也就是MATCH函数返回的值,意思是指定区域相对位置的值,例如INDEX($J$1:$J$6,3),返回值则为“高级”。
MATCH函数第一个参数是查找值薪水C2,第二个参数是查找区域I列,第三个参数选择模糊查询(-1),返回比查找值C2大的值的最数值在查找区域的位置(行数)。比如7996,在I列中查找比7996大,但最小的至为8000,在I列中相对位置为5(第五行),故返回值为5.
因此D2单元格函数应为“=INDEX($J$1:$J$6,MATCH(C2,I:I,-1))”,然后复制下拉即可完成其他匹配。如下图:
需要注意的是构建的查找范围必须是降序的,也就是参数由大到小,否则会返回错误值。
(三)VLOOKUP函数
首先根据薪资职称对应表构建一个范围表,每个职称对应薪资的最低值,如下图。
在D2单元格输入VLOOKUP函数,其中参考值为C2,查找区间为之前构建的范围($I$2:$J$6)(绝对引用,防止下拉公式时范围变化),列数未2,选择模糊查找(1或TRUE),以此公式为“=VLOOKUP(C2,$I$2:$J$6,2,1)”,点击回车,拖动鼠标下拉复制即可完成。
需要注意的是,我们构建区间范围时必须为升序,如果打乱顺序将返回错误值,如图。
标签: excel函数查找对应数值