excel表格之间的核对,是每个excel用户都要面对的工作难题,今天ostar带大家一起盘点一下表格核对的方法,一共6种,以后再也不用加班勾数据了。
一、使用合并计算核对
excel中有一个大家不常用的功能:合并计算。利用它我们可以快速对比出两个表的差异。
例:如下图所示有两个表格要对比,一个是库存表,一个是财务软件导出的表。要求对比这两个表同一物品的库存数量是否一致,显示在sheet3表格。
库存表:
![a5cb01cee0c27604d461948c72408bb3.png](https://i-blog.csdnimg.cn/blog_migrate/4b8714bff76453631095efb300680f8b.jpeg)
软件导出表:
操作方法:
步骤1:选取sheet3表格的A1单元格,excel2003版里,执行数据菜单(excel2010版 数据选项卡) - 合并计算。在打开的窗口里“函数”选“标准偏差”,如下图所示。
![2d3bca0db03317f6f9a70193ab904555.png](https://i-blog.csdnimg.cn/blog_migrate/94f3cc7de3315f86aeceb32f8a492335.jpeg)
步骤2:接上一步别关窗口,选取库存表的A2:C10(第1列要包括对比的产品,最后一列是要对比的数量),再点“添加”按钮就会把该区域添加到所有引用位置里.
![a9fe311c351213492c1fb6baf00375f7.png](https://i-blog.csdnimg.cn/blog_migrate/24ff4c031c4cdf39e09e4b0bf4bb235c.jpeg)
步骤3:同上一步再把财务软件表的A2:C10区域添加进来。标签位置:选取“最左列”,如下图所示。
![58fe51e709c61610cc1621608594e4d4.png](https://i-blog.csdnimg.cn/blog_migrate/3482f6d21d28c69e7164fbb054140881.jpeg)
进行以上步骤后,点确定按钮,会发现sheet3中的差异表已生成,C列为0的表示无差异,非0的行即是我们要查找的异差产品。
![a9fc7d5506b4db522aaeed4a686136f8.png](https://i-blog.csdnimg.cn/blog_migrate/5bf13846eaa4f8c4fc66dcf3bf9040e1.jpeg)
如果你想生成具体的差异数量,可以把其中一个表的数字设置成负数。(添加一辅助列=c2*-1),在合并计算的函数中选取“求和”,即可。另外,此类题目也可以用VLOOKUP函数查找另一个表中相同项目对应的值,然后相减核对。
二、使用选择性粘贴核对
当两个格式完全一样的表格进行核对时,可以用选择性粘贴方法,如下图所示,表1和表2是格式完全相同的表格,要求核对两个表格中填的数字是否完全一致。
![0970f2e3a91d9d3e0d575ca257c4a3bf.png](https://i-blog.csdnimg.cn/blog_migrate/57c4fd1def492f292f507157938dbf31.jpeg)
今天就看到一同事在手工一行一行的手工对比两个表格。star马上想到的是在一个新表中设置公式,让两个表的数据相减。可是同事核的表,是两个excel文件中表格,设置公式还要修改引用方式,挺麻烦的。
后来一想,用选择性粘贴不是也可以让两个表格相减吗?于是,复制表1的数据,选取表格中单元格,右键“选择粘贴贴” - “减”。
![3b38594951f8eff35626d25c783f84d7.png](https://i-blog.csdnimg.cn/blog_migrate/8f04c4d88df17cd9f718799ca88f87a3.jpeg)
进行上面操作后,差异数据即露出原形。
![61184f25803b468346ea6e398d7004c7.png](https://i-blog.csdnimg.cn/blog_migrate/bf7d75825e69bf2fcf0ea3fa18932086.jpeg)
三、使用sumproduct函数完成多条件核对
一个同事遇到的多条件核对问题,简化了一下。
如下图所示,要求核对两表中同一产品同一型号的数量差异,显示在D列。
![33898ce96dabb739f6606abeda46eb43.png](https://i-blog.csdnimg.cn/blog_migrate/43a0527269145e6af5c77e257c1b97fd.jpeg)
公式:
D10=SUMPRODUCT(($A$2:$A$6=A10)*($B$2:$B$6=B10)*$C$2:$C$6)-C10
公式简介:
因为返回的是数字,所以多条件查找可以用sumproduct多条件求和来返回对应的销量。在微信平台回复 sumproduct即可查看该函数的教程。
使用VLOOKUP函数核对
star评:本例可以用SUMIFS函数替代sumproduct函数。
四、使用COUNTIF函数核对
如果有两个表都有姓名列。怎么对比这两个表的姓名哪些相同,哪些不同呢?其实解决这个问题挺简单的,但还是不断的有同学提问,所以这里有必要再介绍一下方法。
例,如下图所示,要求对比A列和C列的姓名,在B和D列出哪些是相同的,哪些是不同的。
![98ec87f5e0507e07234952760a3c238b.png](https://i-blog.csdnimg.cn/blog_migrate/7e24a7e1561be0fe125190dd5dd072f6.jpeg)
分析:在excel里数据的核对一般可以用三个函数countif,vlookup和match函数,后两个函数查找不到会返回错误值,所以countif就成为核对的首选函数。
公式:B2 =IF(COUNTIF(D:D,A2)>0,"相同","不同")
D2 =IF(COUNTIF(A:A,D2)>0,"相同","不同")
公式说明:
1 countif是计算一个区域内(D:D),根据条件(等于A2的值)计算相同内容的个数,比如A2单元格公式意思是在D列计算“张旺财”的个数。
2 IF是判断条件(COUNTIF(A:A,D2)>0)是否成立,如果成立就是返回第1个参数的值("相同"),不成立就返回第二个参数的值("不同")
兰色说:本例是在同一个表,如果不在同一个表,只需要把引用的列换成另一个表的列即可。
五、使用条件格式核对
太多的同学在微信上提问如何查找对比两列哪些是重复的,今天兰色介绍一种超简单的方法,不需要用任何公式函数,两步即可完成。
----------------操作步骤----------------------
第1步:把两列复制到同一个工作表中
![85026c691b40f24dd86c2f4893547e9d.png](https://i-blog.csdnimg.cn/blog_migrate/c0fbff3cffd7fe1acb6737d77d19e6ae.jpeg)
第2步:按CTRL键同时选取两列区域,开始 - 条件格式- 突出显示单元格规则 - 重复值。
![e252f402ec35433d41cb0e32e00421dc.png](https://i-blog.csdnimg.cn/blog_migrate/a45de4068d0d040f394f0f213f9dbbe9.jpeg)
设置后效果如下:
![c986a49a8db3604361be54ccf0167126.png](https://i-blog.csdnimg.cn/blog_migrate/16ce1faace435ee75584cad98bc2ad6b.jpeg)
注:1 此方法不适合excel2003版 ,2003版本可以用countif统计个数的方法查找重复。
2 此方法不适合同一个表中有重复项,可以删除重复项后再两表对比。
六、使用高级筛选核对
高级筛选也能核对数据?可能很多同不太相信。其实真的可以。
回答微信平台一位同学的提问:快速从一份100人的名单中筛选出指定30个人名。
分析:excel2010版本中我们可以直接选取多个项目,但如果一下子给你30个姓名让你从中挑选出来,估计要很久才能完成筛选。这时我们可以借助高级筛选来快速完成。
例:如下图所示AB两列为姓名和销量,要求,根据E列提供的姓名从A列筛选出来。
操作步骤:
![6d05618d8dcaf5a72efcce31d5640098.png](https://i-blog.csdnimg.cn/blog_migrate/38b43e575c7294925ea0f76b2a533bd0.jpeg)
选取AB列数据区域,数据 - 高级筛选 - 打开如下图高级筛选窗口,并进行如下设置。
![ac9e8476f3ced5d7da8169ee90ad1eb2.png](https://i-blog.csdnimg.cn/blog_migrate/1de19a7e2d7c49dcc3ab11a88c972905.jpeg)
A 列表区域为AB列区域。
B 条件区域为E列姓名区域。注意:一定要有标题,而且标题要和A列标题一样。
点击确定后,筛选即完成。如下图所示。
![cdb959a8750c63990e970450f999e181.png](https://i-blog.csdnimg.cn/blog_migrate/e567107b9ba2d6178181a35a2f1a0358.jpeg)