Excel里部分人工资调整,要引入到原表中,并保持未调整的人员数据和位置不变,这是典型的部分数据替换问题,若要使得到的结果位置完全不变,通过直接的数据复制粘贴是无法完成的,但可以通过公式或者构建排序参考表来完成,下面先以公式法为例进行说明:
1、给调整表加个辅助列
比如直接复制一份员工编号,方便后续直接扩展公式,并且方便检查数据
2、用函数直接读取调整表辅助列到工资总表中,以确定有调整的人员
为了可以直接在后面填充公式,对vlookup函数中的引用位置使用了A2实现相对引用,对引用范围(调整表!A:
3、在工资总表中筛选需要调整的人员
4、填充公式完成数据的替换
通过以上简单的几步即完成数据的替换,而工资总表中的数据位置等完全不变,若需要去除公式,可进行选择性粘贴为值、删除辅助列等操作,都比较简单,在此不一一赘述。
『进一步的思考和改进』
以上从基本的Excel函数应用出发解决了数据替换的问题,实际上,从问题的根本出发,这种操作需要是因为企业中大量的数据处理工作都很难避免数据调整的问题,而每次数据调整,后续的数据处理都要跟着重复做一遍,即使操作再熟练,都是一件很麻烦的事情。
对于这种情况,以前会考虑用VBA开发出相应的自动化程序,然后在出现数据调整时进行自动化的刷新——但是,毕竟会VBA的人还是少数,而且一旦需求有所变动,VBA代码的修改会很麻烦。
那怎么办呢?
其实,现在这个问题随着Excel2016的新功能Power Query(Excel2010或Excel2013可到微软官方下载相应的插件)的出现,已经变得非常简单。
继续以这个例子为例,通过Power Query,可以对工资表和调整表进行合并筛选达到替换的效果,而经过这一次的操作,以后再出现调整时,只需要一键刷新即可得到最新结果,具体操作如下:
1、依次将工资总表和调整表数据接入Power Query
结果如下(为方便后续区分相关表格,对查询进行重命名):
2、给工资总表添加索引列
3、将工资总表的索引合并到调整表
4、追加合并工资总表
5、根据员工编号等标志删除重复项
6、按索引重新排序
通过以上简单的几步,不需要写任何公式,就完成了数据的替换工作,并且,在数据出现新的调整时或者每个月再需要做同样的工作时,只需要一键刷新即得到最新结果,而不需要再重复地去写公式或做任何操作,如下所示:
通过这个问题的Excel公式解法以及Power Query的操作解法对比,可以看出,很多问题如果转换为使用Power Query求解,一是可能操作上更加简单,二是可以实现一次操作,以后一劳永逸的一键刷新得结果。