excel两张表,格式相同如何对比数据是不是有差异

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了excel两张表,格式相同如何对比数据是不是有差异相关的知识,希望对你有一定的参考价值。

有一张原始表,将其备份后共享,大家共同录数据。后来发现共享的表格中有下半部分数据和原始表错行了。现在想和原始表对比,看调整错行后是否有共享时大家修改的数据
补充,本来3张表,大家分开录数据,后来汇总成一张,但是汇总的时候,下半部分粘贴的时候向下错了一行,然后大家开始在汇总的表上录入,后来发现了。把原始3张表中的下半部分重新汇总了下,想对比新汇总和共享录数据的表格下半部分有没有不同

假设两张表都在同一张Excel工作簿中,表1和表2要对比A列数据,是否有相同的数据。
方法1:使用VLOOKUP函数公式
具体步骤:

在表1中,选中B1单元格
输入公式=VLOOKUP(A1,表2!A:A,1,FALSE)
公式往下拉
显示#N/A的表示未在表2中找到相同值,其余表示是相同值。

方法2:使用COUNTIF函数公式
具体步骤:
在表1中,选中B1单元格
输入公式=COUNTIF(表2!A:A,A1)
公式往下拉
显示0的表示未在表2中找到相同值,其余表示是相同值。

方法3:使用删除重复项功能。
具体步骤:
将表1和表2的A列,复制合并到新的一列
选中这一列数据。
点击”数据“选项卡。

点击”删除重复项“
显示未找到重复值,表示无相同值
如果行数发生变化,表示两张表有相同值。

需要注意的是,方法1和方法2可以快速看出重复值,
方法3无法直接得到重复值,只能得到去重后的并集。
参考技术A 这个很麻烦,首先你的两张表格的数据结构得一样。
如果数据较少,可以直接在excel里面完成。
比如你要核实的是sheet1和sheet2中的数据
1.在sheet3中A1=IF(Sheet1!A1=Sheet2!A1,0,1),
2.在sheet3中ctrl+a全选,点击菜单栏 编辑——填充——向下填充,再依样点击“向右填充”,这是整张表格都所有单元格都进行了比较(注意,由于数据太多,机子硬件不知道能不能挺住)
3.在sheet3中ctrl+a全选,右下方任务栏中显示的求和值如果是0的话,说明你的两个表格的数据完全一样,
4.否则,就说明你的两个表格有不同的地方。如果想具体查看哪个单元格不同,可以利用条件格式 在格式菜单中,设置时选择等于1时单元格的底色为红色,这样凡是红色单元的位置既是不同处 (参考mylife2001 )
如果数据较多的话,建议导入数据库,用SQL语句查询,这个我就不太懂了。
也可以用excel里面的函数完成的,好久没用excel 忘得差不多了。本回答被提问者采纳
参考技术B 用函数COUNTIF()对比判断 .。数据多建议你用ACCESS数据库。做个简单查询就可以了。 参考技术C 用excelcompare软件即可,给邮箱,我发给你516000751@qq.com。 参考技术D 之前做过医疗统计数据的多人录入,也遇到过你这个问题。如果需要帮助,且文件不保密,我可以帮你协作处理下。邮件请发filesinhand@163.com,有QQ留一个方便联系。追问

已解决,谢谢

怎么用SQL比对两表

表1,A字段包含B字段
A B
111 123
111 235

表2,C字段包含D字段

C D
111 123
如何用SQL来比对,两表之间的差异数据?

参考技术A Oracle里边可以这样:
select * from 表1 minus select * from 表2

SqlServer2005中可以这样:
select * from 表1 except select * from 表2

sqlserver2000中可以这样:
select * from 表1 where not exists (select 1 from 表2 where C=表1.A and D=表1.B)

sqlserver2000里边的这种方式在Oracle和sqlserver2005中也是可行的本回答被提问者采纳
参考技术B 两表字段类型一样~
思路:先把两表的数据合并~,然后把重复的数据剔除掉,剩下的就是两表的差异数据了!
-----实现语句----------------
Select * from (select * from A
Union all
Select * from B) T Group by A,B having count(*)=1
参考技术C --表结构:
CREATE TABLE t1_old (
id int NOT NULL,
log_time DATETIME DEFAULT '') ;
CREATE TABLE t1_new (
id int NOT NULL,
log_time DATETIME DEFAULT '') ;--两表的记录数都为100条。select count(*) from t1_old;select count(*) from t1_new;
参考技术D oracle中:

select * from 表1
minus
select * from 表2

SqlServer2000中:

select * from 表1 where not exists(
select * from 表2 where 表2.C=表1.A and 表2.D=表1.B)

---
以上,希望对你有所帮助。
第5个回答  2019-06-02 sqlserver写法,其他数据库可能略有不同,如果其他数据库请说明
select a.发票号,sum(isnull(b.金额,0)) 汇总表金额,sum(c.总金额) 明细表金额
from
(select 发票号 from 汇总表
union
select 发票号 from 明细表) a
left join 汇总表 b on a.发票号=b.发票号
left join (select 发票号,sum(金额) 总金额 from 明细表 group by 发票号) c on a.发票号=c.发票号
group by a.发票号

以上是关于excel两张表,格式相同如何对比数据是不是有差异的主要内容,如果未能解决你的问题,请参考以下文章

SQL两个表数据对比

怎么用SQL比对两表

oracle如何比较两个表数据的差异?

SQL语句:对比两张表的数据并筛选出数据不同的

python对比两张EXCEL表,将不同的数据生成新表?

如何用sql语言比对两张表中是不是有重复身份证号