如何计算工资
姓名岗级工资新工资
aa1A级2200
aa2B级3750
aa3A级2200
aa4D级7425
aa5C级2250
aa6B级1500
aa7A级1000
aa8B级1500
aa9D级6075
aa10A级2200
aa11A级1500
aa12D级8437.5
aa13D级3375
aa14E级9112.5
aa15B级3750
aa16B级2700
aa17D级8437.5
原工资级别表
一级二级三级四级五级六级
A级100015001800220025003000
B级150022502700330037504500
C级225033754050495056256750
D级33755062.5607574258437.510125
E级5062.57593.759112.511137.512656.2515187.5
新工资级别
九级八级七级六级五级四级三级二级一级
A级540048004200360030002640216018001200
B级972086407560648054004752388832402160
C级1749615552136081166497208554699858323888
D级31493279942449420995174961539612597104986998
E级566875038844090377913149327714226751889612597
题目要求:
目前进行工资调整,根据目前所在的岗位定新的目标工资,要求目标工资必须在工资范围内,原岗级为6级,新岗级为9级,原则是在新的岗级范围内就近就高原则,即在指定级别范围内找到最接近的,并大于等于目前的工资。
[解决办法]
新工资九级八级七级六级五级四级三级二级一级
A级540048004200360030002640216018001200
B级972086407560648054004752388832402160
C级1749615552136081166497208554699858323888
D级31493279942449420995174961539612597104986998
E级566875038844090377913149327714226751889612597
原工资一级二级三级四级五级六级
A级100015001800220025003000
B级150022502700330037504500
C级225033754050495056256750
D级33755062.5607574258437.510125
E级5062.57593.759112.511137.512656.2515187.5
姓名岗级工资新工资
aa1A级22002640
aa2B级37503888
aa3A级22002640
aa4D级742510498
aa5C级22503888
aa6B级15002160
aa7A级10001200
aa8B级15002160
aa9D级60756998
aa10A级22002640
aa11A级15001800
aa12D级8437.510498
aa13D级33756998
aa14E级9112.512597
aa15B级37503888
aa16B级27003240
aa17D级8437.510498
公式:=INDEX($B$2:$J$6,MATCH(B16,$A$2:$A$6),MATCH(C16,INDEX($B$2:$J$6,MATCH(B16,$A$2:$A$6),),-1))
[解决办法]
第一步根据B16找出对应的级别在2-6行中的位置,它决定了我们等会去找的行,这里值为1
公式为:MATCH(B16,$A$2:$A$6)
第二步用index函数把2-6行中第1行的数据返回,缩小查找范围为第2行A级的九个工资。
MATCH(B16,$A$2:$A$6)
公式为:INDEX($B$2:$J$6,MATCH(B16,$A$2:$A$6))
第三步再用match函数在第二步结果中找与原工资相近而高的值所在的位置,结果是6
公式后面的参数-1,决定了是找大于查找值的最接近值
公式为:MATCH(C16,INDEX($B$2:$J$6,MATCH(B16,$A$2:$A$6),),-1))
第四步有了一个区域B2:J6内的行号1(第一步的结果)
有了一个区域B2:J6内的列标6(第二步的结果)
再用index函数得出那个位置的值就行了。
公式为:INDEX($B$2:$J$6,MATCH(B16,$A$2:$A$6),MATCH(C16,INDEX($B$2:$J$6,MATCH(B16,$A$2:$A$6),),-1))
我的异常网推荐解决方案:软件开发者薪资,http://www.myexception.cn/other/1391128.html