原标题:如何快速查找两个数据表之间的相同和不同?

知识

随笔

案例

声音

其他

编者按

工作中经常会遇到对来源不同的数据进行比对,查找相同、不同、差异性等。过于复杂的需求,我们通常会转换思路,使用数据库解决,甚至会写一点代码,但有些需求相对比较简单,用excel绰绰有余。

王书记算是法科生里最具现代科技信息思维的人了,无奈遇到硬骨头,还是发自内心的寻求真正的专业人士协助。这不,前段时间遇到一个问题,小编想来,这也不算什么高难度,用excel就能解决,不需要转换成数据库。

问题描述

他从某单位调取了两张数据表,一张是班级里语文考试及格的人员列表,另一张是数学考试及格的人员列表。具体表结构如下:

MySQL 对比两张表数据 mysql比较两张表的数据差异_快捷键

语文及格的人员列表

MySQL 对比两张表数据 mysql比较两张表的数据差异_数据库_02

数学及格的人员列表

王书记想实现两个目标。

1、找出语文和数学同时都及格的人员列表;

2、找出语文及格、数据不及格的人员列表。

解决方法和步骤

1、先把两个数据表做进一个excel。把语文及格的人员列表保存成“sheet1”,把数学及格的人员列表保存成“sheet2”。

MySQL 对比两张表数据 mysql比较两张表的数据差异_MySQL 对比两张表数据_03

2、在sheet1中增加一列,列名建议叫做“数学是否及格”。

MySQL 对比两张表数据 mysql比较两张表的数据差异_快捷键_04

3、在sheet1的D2单元格,适用公示:=IF(COUNTIF(Sheet2!$B$2:$B$10,B2),"是","否")。

解释一下:该函数的意思大致是:在sheet2表中,B列从第2行到第10行,与sheet1中的B2这个单元格作比较,如果一致,则结果为“是”,否则结果为“否”。经测可用。

公式中的Sheet2!$B$2:$B$10,是比对的参考范围。

4、把公式扩展到整列。

5、以D列为基准进行扩展排列(或者筛选),那么上述两个问题就都解决了,即:D列为“是”的:语文数学都及格的人员列表;D列为否:语文及格、数据不及格的人员列表。

MySQL 对比两张表数据 mysql比较两张表的数据差异_数据库_05

要注意的事项

1、当行数巨大,比如超过10万行的时候,如果把公式应用到整列?

这里,大家需要知道一个快捷键:“Ctrl+D快捷键填充”,否则,你拖着黑十字鼠标往下移动,会死人的。

2、确保两张表有相同的具有“唯一性”特征的列,比如:身份证号码。返回搜狐,查看更多