A列为员工工号,B列为工种,C列为员工的考核项目完成值,需计算D列为考核项目得分
员工有甲、乙、丙、丁、戊、己、庚、辛八种工种,考核标杆分别为11,12,13,14,15,16,17,18,达到标杆得8分,低于标杆得5分。
如:3001号员工是丙工种,丙工种考核标杆为13,该员工考核项目完成值是17,达到标杆则得分为8分。
故D列我的公式为:
=IF(B1="甲",IF(C3>=11,8,5),IF(B3="乙",IF(C3>=12,8,5),IF(B3="丙",IF(C3>=13,8,5),IF(B3="丁",IF(C3>=14,8,5),IF(B3="戊",IF(C3>=15,8,5),IF(B3="己",IF(C3>=16,8,5),IF(B3="庚",IF(C3>=17,8,5),IF(B3="辛",IF(C3>=18,8,5))))))))
由于嵌套层数超过7层无法实现。
我百度搜索到可以使用lookup和vlookup公式替代if嵌套。
于改成:
=VLOOKUP(B1,{"甲",IF(C3>=11,8,5);"乙",IF(C3>=12,8,5);"丙",IF(C3>=13,8,5);"丁",IF(C3>=14,8,5);"戊",IF(C3>=15,8,5);"己",IF(C3>=16,8,5);"庚",IF(C3>=17,8,5);"辛",IF(C3>=18,8,5)},2,)
但是好像vlookup不支持嵌套if,总是报错。
还求大神帮助提供解决办法。
非常感谢。再进一步请教一下,若得分值为根据不同工种变化,公式又应如何设置呢。如低于标杆得5分,达到标杆得8+(完成值-工种标杆)的得分。上面的公式该怎么改好呢?
追答=IF(C3>=FIND(B3,"甲乙丙丁戊己庚辛")+10,C3-2-FIND(B3,"甲乙丙丁戊己庚辛"),5)
本回答被网友采纳非常感谢。再进一步请教一下,若得分值为根据不同工种变化,公式又应如何设置呢。如低于标杆得5分,达到标杆得8+(完成值-工种标杆)的得分。上面的公式该怎么改好呢?