如下图,C列是同学的考试成绩,现在要在D列展现分数等级,F3:H13是评级规则。首先考虑到的是用if函数,但是用if要进行9层嵌套,非常麻烦。
第一种高效的办法是使用index match函数的模糊匹配,可以在D4单元格输入公式:=INDEX($H$4:$H$13,MATCH(C4,$G$4:$G$13,-1)),向下填充,就可以得到结果。
index函数的第一个参数是指定区域,第二个参数是相对位置,也就是match函数返回的值,意思是返回指定区域相对位置的值。match函数的第一个参数是查找值,第二个参数是查找区域,第三个参数-1代表模糊匹配。
match第三个参数为-1,前提要求是查找区域必须是降序,也就是数值由大到小,会返回比查找值大的最小的数值所在的位置,比如C4的值是88,会在G列进行查找比88大的最小值的位置,也就是89在G4:G13的相对位置2。2会作为index函数的第二个参数,也就是返回H4:H13第二个位置的值,也就是A。
第二种方法我们也可以用vlookup函数的模糊匹配,前提要求是查找区域必须是升序,需要重新构造辅助区域,如下图:
可以在D4单元格输入公式:=VLOOKUP(C4,$F$3:$H$13,3,TRUE)
vlookup函数的第一个参数是查找值,第二个参数是查找区域,第三个参数是返回查找区域的第几列,第四个参数TRUE表示近似匹配。
vlookup第四个参数为TRUE,要求查找区域是升序的,数值由小到大排序,会返回比查找值小的最大的数值所在的行,比如C4的值是88,在查找区域F列中,比88小的最大值是85,就返回85所在行的第三列,也就是H12的值A。
什么时候用F列的值,什么使用用G列的值,要根据具体情况确定。
如果你想学习更多数据分析技能,
赶紧咨询赵老师
联系客服