姓名 岗级 工资 新工资
aa1 A级 2200
aa2 B级 3750
aa3 A级 2200
aa4 D级 7425
aa5 C级 2250
aa6 B级 1500
aa7 A级 1000
aa8 B级 1500
aa9 D级 6075
aa10 A级 2200
aa11 A级 1500
aa12 D级 8437.5
aa13 D级 3375
aa14 E级 9112.5
aa15 B级 3750
aa16 B级 2700
aa17 D级 8437.5
原工资级别表
一级 二级 三级 四级 五级 六级
A级 1000 1500 1800 2200 2500 3000
B级 1500 2250 2700 3300 3750 4500
C级 2250 3375 4050 4950 5625 6750
D级 3375 5062.5 6075 7425 8437.5 10125
E级 5062.5 7593.75 9112.5 11137.5 12656.25 15187.5
新工资级别
九级 八级 七级 六级 五级 四级 三级 二级 一级
A级 5400 4800 4200 3600 3000 2640 2160 1800 1200
B级 9720 8640 7560 6480 5400 4752 3888 3240 2160
C级 17496 15552 13608 11664 9720 8554 6998 5832 3888
D级 31493 27994 24494 20995 17496 15396 12597 10498 6998
E级 56687 50388 44090 37791 31493 27714 22675 18896 12597
题目要求:
目前进行工资调整,根据目前所在的岗位定新的目标工资,要求目标工资必须在工资范围内,原岗级为6级,新岗级为9级,原则是在新的岗级范围内就近就高原则,即在指定级别范围内找到最接近的,并大于等于目前的工资。
------解决方案--------------------------------------------------------
新工资 九级 八级 七级 六级 五级 四级 三级 二级 一级
A级 5400 4800 4200 3600 3000 2640 2160 1800 1200
B级 9720 8640 7560 6480 5400 4752 3888 3240 2160
C级 17496 15552 13608 11664 9720 8554 6998 5832 3888
D级 31493 27994 24494 20995 17496 15396 12597 10498 6998
E级 56687 50388 44090 37791 31493 27714 22675 18896 12597
原工资 一级 二级 三级 四级 五级 六级
A级 1000 1500 1800 2200 2500 3000
B级 1500 2250 2700 3300 3750 4500
C级 2250 3375 4050 4950 5625 6750
D级 3375 5062.5 6075 7425 8437.5 10125
E级 5062.5 7593.75 9112.5 11137.5 12656.25 15187.5
姓名 岗级 工资 新工资
aa1 A级 2200 2640
aa2 B级 3750 3888
aa3 A级 2200 2640
aa4 D级 7425 10498
aa5 C级 2250 3888
aa6 B级 1500 2160
aa7 A级 1000 1200
aa8 B级 1500 2160
aa9 D级 6075 6998
aa10 A级 2200 2640
aa11 A级 1500 1800
aa12 D级 8437.5 10498
aa13 D级 3375 6998
aa14 E级 9112.5 12597
aa15 B级 3750 3888
aa16 B级 2700 3240
aa17 D级 8437.5 10498
公式:=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))