求excel用一个多条件函数测算工资,急求!!

发布网友 发布时间:2022-04-22 06:00

我来回答

5个回答

热心网友 时间:2023-11-21 10:05

你用的EXCEL2003吗?最多只嵌套7层?

EXCEL2007及以后可以嵌套层,建议你用高版本的EXCEL

=IF(B2=1,LOOKUP(C2,{1,6000;3,8000;6,10000;9,12000;12,14000}),IF(B2=2,LOOKUP(C2,{1,4500;3,6000;6,7500;9,9000;12,10500}),IF(B2=3,LOOKUP(C2,{1,3500;3,4500;6,5500;9,6500;12,7500}),IF(B2=4,LOOKUP(C2,{1,3000;3,3500;6,4000;9,4500;12,5000}),IF(B2=5,LOOKUP(C2,{1,2500;3,3000;6,3500;9,4000;12,4500}),IF(B2=6,LOOKUP(C2,{1,2000;3,2500;6,3000;9,3500;12,4000}),IF(B2=7,LOOKUP(C2,{1,1500;3,2000;6,2500;9,3000;12,3500}),IF(B2=8,LOOKUP(C2,{1,1000;3,1500;6,2000;9,2500;12,3000}),LOOKUP(C2,{1,500;3,1000;6,1500;9,2000;12,2500})))))))))

热心网友 时间:2023-11-21 10:05

excel中,if()以及iif()函数的嵌套层数是有*的,office2003是7层,office2007好像是层。你这个计算需求,分9个职级,每个职级下又分5档年限,总共相当于9*5=45种条件,用高版本的应该行。
如果层数再多,你就用华创网表,相当于网络版的excel,它针对条件计算的层次*做了专门的处理,突破了嵌套层级的*,多少层都行。另外,它能根据员工入职日期,自动计算其岗位年限,能随着日期的向前推进自动增长年限,从而实现全自动地计算。具体做法如下:
(1)先建一个员工薪资表,设置工号、姓名、入职日期、职级等基本字段
(2)再设置一个岗位年限字段,并设置其计算公式为简单日期间隔,具体是:入职日期 至 系统时间 之间的年数,即可让它自动计算岗位年限。
(3)再设置一个工资字段,并设置其计算公式为条件计算,具体是:
职级为职级1 岗位年限<=3 则为6000
职级为职级1 3<岗位年限<=6 则为8000
职级为职级1 6<岗位年限<=9 则为10000
...以此类推,把所有条件都列齐,即可计算出工资。

热心网友 时间:2023-11-21 10:06

另一种方法供参考:

A1:F10是基准表,C13:D13是输入资料,E13是计算结果:

=OFFSET(A1,LOOKUP(C13,{0,3,6,9,12;1,2,3,4,5}),D13)

下拉填充即可 。 

热心网友 时间:2023-11-21 10:06

如果职级在B2单元格,年限在C2单元格,

=IF(B2="1等",LOOKUP(C2,{0,3,6,9,12},{6,8,10,12,14}*1000),IF(B2="2等",LOOKUP(C2,{0,3,6,9,12},{4.5,6,7.5,9,10.5}*1000),IF(B2="3等",LOOKUP(C2,{0,3,6,9,12},{3.5,4.5,5.5,6.5,7.5}*1000),IF(B2="4等",LOOKUP(C2,{0,3,6,9,12},{3,3.5,4,4.5,5}*1000),))))

如果建立了对应表,那么可通过INDEX+MATCH+MATCH来实现。

=INDEX(F$2:J$10,MATCH(A2,E$2:E$10,0),MATCH(B2,F$1:J$1,1))

详见附图示例

热心网友 时间:2023-11-21 10:07

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com