如表 1 (工资表)
E F G N O P Q R S 姓名 级别 基本工资 应付工资 社保 公 应税收积金 入 个税 实发工资 3 4 5
表 2 (社保表)其他保险格式同养老保险,表略
A B C D E F 。。。。。 Q R S 养老保险 序号 姓名 月基数 单位21%(农业14%) 个人8% 小计 保险合计 单位31.6% 个人11%+10 总计 5 6 7
表 3 (公积金表)
A B C D E F 公积金合计 序号 姓名 月基数 单位10% 个人10% 总计 5 6 7
先看工资表,我们要在列 O 形成个人负担的社保,就需要从社保表中列 R 取数,如果员工名单不是一致的,那如何处理呢?
步骤如下
1. 使用 VLOOKUP 函数,建立工资表和社保表的对应关系。 在工资表单元格O 3(即个人负担社保) 输入下列公式 =VLOOKUP ( E3, 保险 !$B$21:$S$28,17,FALSE )
这个函数的意思是,以工资表中E3(员工姓名)为依据查找,查找范围是保险表中的B21-S28这个区域,如果找到,返回保险表中的第17列(就是个人负担社保), FALSE 的意思是精确查找。 2. 其他对应列O 可以直接使用这个函数,因为是绝对引用,所以不用担
心区域的问题。
3. 很不错,如果社保表上有的员工数据就能直接过来了,但是如果你观
察会发现,如果社保表数据没有的员工,他显示的是 #N/A ,表示没有查询到对应数据,如果手工修改就太麻烦了。
4. 这时候,就需要我们再使用一个函数, ISERROR 帮助我们进行逻辑
判断。
该函数的定义是帮助我们判断错误值,如果没有找到,返回 TRUE ,找到返回 FALSE 。
5. 光是逻辑判断也不行,我们需要的是如果找到,返回对应数据;如果
没有找到,返回数据 0 。这时就该 IF 函数出手了。
6. 在O 3中把公式修改如下: =IF(ISERROR(VLOOKUP(E3, 保
险 !$B$21:$S$28,17,FALSE)),0,VLOOKUP(E3, 保险 !$B$21:$S$28,17,FALSE))
这个含义是,如果没有找到,数据返回 0 ;如果找到,返回工资表对应数据。
7. 很方便吧,同样,在工资表中的P3(个人负担公积金)一样输入下
列公式:
=IF(ISERROR(VLOOKUP(E3, 公积
金 !$B$21:$E$27,4,FALSE)),0,VLOOKUP(E3, 公积
金 !$B$21:$E$27,4,FALSE)) ,同样完成工资表和公积金表的数据间联系。
因篇幅问题不能全部显示,请点此查看更多更全内容