choose和switch,ifs;if,xlookup,vlookup;lookup如何做等级判断及区别举例说明
浅谈出口账务和excel函数 这几个函数做等级判断,核心区别在于:IFS/XLOOKUP 最现代简洁,VLOOKUP/LOOKUP 靠区间匹配,CHOOSE/SWITCH 适合少量固定档位。
假设要根据分数判等级:<60 不及格,60-79 及格,80-89 良好,≥90 优秀。
=IF(A2>=90,"优秀",IF(A2>=80,"良好",IF(A2>=60,"及格","不及格")))
IFS:多条件平铺,可读性更好(Excel 2019+)。
=IFS(A2>=90,"优秀",A2>=80,"良好",A2>=60,"及格",TRUE,"不及格")
注意:IFS 是从上到下判断,条件必须从大到小写,最后的 TRUE 兜底。
2. VLOOKUP / XLOOKUP(区间匹配)
VLOOKUP:需先建辅助表,用近似匹配(第4参数为 1 或 TRUE)。
=VLOOKUP(A2,$E$2:$F$5,2,1)
XLOOKUP:无需辅助表,直接写区间,默认就是区间匹配。
=XLOOKUP(A2,{0;60;80;90},{"不及格";"及格";"良好";"优秀"},,-1)
最后的 -1 表示“找不到精确值时,找下一个较小的项”,即区间匹配。XLOOKUP 更灵活,不要求升序,但逻辑上仍建议有序。
=LOOKUP(A2,{0;60;80;90},{"不及格";"及格";"良好";"优秀"})
要求第2个数组升序。写法极简,但可读性差,适合老手。
CHOOSE:适合档位是整数序号的情况,比如 1-4 级。
=CHOOSE(B2,"不及格","及格","良好","优秀")
如果 B2 是分数,需要先转换:=CHOOSE(MATCH(A2,{0,60,80,90}),"不及格","及格","良好","优秀")
=SWITCH(B2,1,"不及格",2,"及格",3,"良好",4,"优秀","未知")
若用分数,需配合 IFS 或 MATCH 转换,反而绕远。
VLOOKUP 近似匹配 ✅ 必须 ✅ 已有对照表
CHOOSE 序号索引 否 ❌ 需转换 档位本身就是1/2/3
· 分数判等级:优先 IFS 或 XLOOKUP。
· 已有对照表:VLOOKUP(注意升序)或 XLOOKUP。