如何快速比对两个excel表格比对公式

44038人阅读
情景对话:
Marketing给你传了一个EXCEL,发话:这是最新版本,上次的作废,把新的release出去吧。
我,打开...纳尼?!没有mark,没有comments?我怎么知道你改了什么??每个都对过来?!!我能爆粗口么 !@&(……@)!#*&……*
相信很多人都有这种情况,这个时候你i就需要强大的助手来比较EXCEL, 正题如下:
1). 如果你已经装了EXCEL2013,那么恭喜你,可以用上“Spreadsheet Compare 2013”这个微软自带的强大工具了。在Office2013 Tools 中你可以找到这个工具,确实非常强大,直观的比较,还可以导出比对结果,简单易用,人性化,要的就是这个效果,相信用过后你也会爱不释手。如果你还在惆怅如何比较 EXCEL 文件,赶紧使用吧,它是迄今为止本人觉得最好的比较工具,没有之一。
2). 如果你不幸还在用老的EXCEL,当然可以比较的。下面转的文章也可助你一臂之力(有点费劲哦)。
说起文件内容比较,或许我们首先想到的是UltraCompare这类专业比较的软件,其功能非常强大,能够对基于文本的文件内容作出快速、准确的比较,有详细的差异报告,非常便于分析。其实,各种版本控制软件中也包含有或多或少的比较功能,如TFS、CVS、SVN等。但是如果待比较的文件不是基于文本类型的,那就无能为力了。今天我就来谈一谈Excel的比较方法及其特点,也和大家共同探讨一下,如果你有更好的方法,欢迎分享。
一、Excel的文件架构
Excel的文件结构,一个Excel是一个工作簿,其中可以包含若干个工作表,正式由于这个架构,造成比较Excel中的内容比较困难,尤其当工作表中的数据量很大时,常规的比较软件更是无能为力。
二、三种比较方法
下面我分别用三种方法来比较两个Excel中的内容,首先准备两个测试Excel,为了简单起见,两个Excel都只包含一个工作表,其中填充了一些数字:
图1、1.xlsx
图2、2.xlsx
1、首先我用比较笨的方法,写一段程序,逐个比较单元格(假设两个Excel中包含的工作表的命名和个数完全相同):
&&&&&&&&private&void&fnExcelCompare(string&v_strSourcePath,&string&v_strDestPath)
&&&&&&&&&&&&this.__int内容不同单元格个数&=&0;
&&&&&&&&&&&&this.__dic内容不同.Clear();
&&&&&&&&&&&&Excel.Application&app&=&new&Excel.Application();
&&&&&&&&&&&&app.DisplayAlerts&=&false;
&&&&&&&&&&&&Excel.Workbook&srcBook&=&app.Workbooks.Open(v_strSourcePath);
&&&&&&&&&&&&Excel.Workbook&destBook&=&app.Workbooks.Open(v_strDestPath);
&&&&&&&&&&&&FileStream&log&=&new&FileStream(System.Windows.Forms.Application.StartupPath&+&@&\Logs\ReportCheck.log&,&FileMode.OpenOrCreate,&FileAccess.ReadWrite);
&&&&&&&&&&&&StreamWriter&writer&=&new&StreamWriter(log);
&&&&&&&&&&&&string&msg&=&string.E
&&&&&&&&&&&&writer.WriteLine(&*********************************************************************************\n&);
&&&&&&&&&&&&foreach&(Excel.Worksheet&sheet&in&srcBook.Worksheets)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&for&(int&i&=&1;&i&&=&sheet.UsedRange.Rows.C&i++)
&&&&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&&&for&(int&j&=&1;&j&&=&sheet.UsedRange.Columns.C&j++)
&&&&&&&&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&&&&&&&string&src&=&sheet.Cells[i,&j].Value2&==&null&?&string.Empty&:&sheet.Cells[i,&j].Value2.ToString();
&&&&&&&&&&&&&&&&&&&&&&&&string&dest&=&destBook.Worksheets[sheet.Name].Cells[i,&j].Value2&==&null&?&string.Empty&:&destBook.Worksheets[sheet.Name].Cells[i,&j].Value2.ToString();
&&&&&&&&&&&&&&&&&&&&&&&&if&(src&!=&dest)
&&&&&&&&&&&&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&&&&&&&&&&&msg&=&DateTime.Now.ToString()&+&&------&&+&sheet.Name&+&&&【&&+&this.fnGetExcelAddress(i,&j)&+&&】单元格中的内容不相同\n&;
&&&&&&&&&&&&&&&&&&&&&&&&&&&&this.__int内容不同单元格个数++;
&&&&&&&&&&&&&&&&&&&&&&&&&&&&this.__dic内容不同.Add(this.__int内容不同单元格个数,&msg);
&&&&&&&&&&&&&&&&&&&&&&&&&&&&writer.WriteLine(msg);
&&&&&&&&&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&}
&&&&&&&&&&&&writer.WriteLine(&*********************************************************************************\n&);
&&&&&&&&&&&&srcBook.Save();
&&&&&&&&&&&&destBook.Save();
&&&&&&&&&&&&app.Quit();
&&&&&&&&&&&&System.Runtime.InteropServices.Marshal.ReleaseComObject(app);
&&&&&&&&&&&&System.Runtime.InteropServices.Marshal.ReleaseComObject(srcBook);
&&&&&&&&&&&&System.Runtime.InteropServices.Marshal.ReleaseComObject(destBook);
&&&&&&&&&&&&app&=&null;
&&&&&&&&&&&&srcBook&=&null;
&&&&&&&&&&&&destBook&=&null;
&&&&&&&&&&&&GC.Collect();
2、使用OpenXML SDK 2.0
前面的文章讲过OpenXML SDK及其相关工具的简单用法,其实还可以用它来比较Excel,当然,仅限于比较Excel 2007、Excel 2010。
如果你还没有安装OpenXML SDK 2.0,可以在下载。
下载完毕,一步步安装结束后,就可以使用了。
1)打开Productivity Tool:
2)对这个工具做一些简单配置:
可以选择显示行号、忽略命名空间、忽略声明:
选择待比较的Excel版本,我使用的Excel 2010,故选择第二个:
3)点击【Compare Files】,然后选择两个待比较的Excel文件,点击【OK】:
4)可以看到Excel被分拆成了一个个part,标记为绿色的表示内容中有不同:
5)选择一个标记为绿色的part,点击【View Par Diff】,可以查看具体的明细:
这个界面与传统的比较软件中的界面非常相似,可以很容易的看出不同之处。
这种方法的缺点是比较结果不够直观,难以获取比较的汇总结果,当数据量很大时更是如此。
3、使用SpreadshCompare
SpreadshCompare是国外人写的一个VBA插件,开源免费,可以在上下载,最新版本是1.15,支持Excel 2003,Excel 2007,目前还不支持Excel 2010
x64。由于我使用的是Excel 2010 x64,故暂时在虚拟机中进行测试。
我使用的Hyper-V,安装了Windows Server 2003 R2,Office 2007。
1)下载完毕安装后,在Excel的【加载项】中可以看到一个天平的小图标:
2)先打开两个待比较的Excel:1.xlsx、2.xlsx,然后分别选择两个待比较的Excel,点击【Next】:
3)选择逐单元格比较,保持大小写敏感,其他选项默认:
4)分别选择待比较的工作表,点击【Next】:
5)选择比较所有的区域,点击【Next】:
6)选择生成汇总表选项,保持默认即可:
7)设置工作表的顺序,然后点击【Compare】:
8)首先会给出一个简短的汇总信息:
9)点击【确定】后会生成两个工作簿,一个记录所有不同之处,另一个给出单元格对比分析:
10)同时对源文件也用颜色进行了标示,黄色表示不同:
经过大量数据测试,该插件性能很高,速度较快。以后我会试着修改下这个插件的源代码,争取支持Excel 2010 x64。
其他类似的还有(商业软件)、(商业软件)、(商业软件)等。
本次我们畅谈了下Excel的比较问题,给出了三种解决方案,三种方案各有优劣,只是适用场合不同,请根据你的需求进行选择。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:92905次
排名:千里之外
转载:44篇
(1)(1)(1)(1)(5)(3)(1)(2)(1)(1)(2)(5)(8)(10)(5)对比两个excel表格,有很多种方法。今天我们盘点一下最简便的几种方法。一、对比两个表的项目对应的值是否一致excel中有一个大家不常用的功能:合并计算。利用它我们可以快速对比出两个表的差异。【例】:如下图所示有两个表格要对比,一个是库存表,一个是财务软件导出的表。要求对比这两个表同一物品的库存数量是否一致,显示在sheet3表格。库存表:软件导出表:操作方法:步骤1:选取sheet3表格的A1单元格,excel2003版里,执行数据菜单(excel2010版 数据选项卡) - 合并计算。在打开的窗口里“函数”选“标准偏差”,如下图所示。步骤2:接上一步别关窗口,选取库存表的A2:C10(第1列要包括对比的产品,最后一列是要对比的数量),再点“添加”按钮就会把该区域添加到所有引用位置里.步骤3:同上一步再把财务软件表的A2:C10区域添加进来。标签位置:选取“最左列”,如下图所示。进行以上步骤后,点确定按钮,会发现sheet3中的差异表已生成,C列为0的表示无差异,非0的行即是我们要查找的异差产品。二、对比两个表项目是一致【例】如下图所示,要求对比H列和F列,找出两列相同和不同的姓名。步骤:按ctrl键选取F列和H列的姓名,开始 - 条件格式 -
突出显示单元格显示规则 - 重复值演示:三、对比两个格式完全相同的表相同位置的值是否一致。如下图所示,表1和表2是格式完全相同的表格,要求核对两个表格中填的数字是否完全一致。复制表1的数据,选取表格中单元格,右键“选择粘贴贴” - “减”。进行上面操作后,差异数据即露出原形。微软商务应用专家(SZMSTC) 
 文章为作者独立观点,不代表WtouTiao文章网立场
的最新文章
日,深大微软商务应用课程——春季班课程圆满结束了,本次课程由王老师以及林老师授课,在助教范同Word技能上,我们还有哪些私藏?用EXCEL图表制作太极图,我确定没有听错哦!Step1:作图思路的整理俗话说:太极分两仪,两仪分四象,四象这世界的太阳,因为自信才能把我照亮,这舞台 的中央,有我才闪亮,有我才能发着光....2016年6月图标是个宝,教你怎么找!日,由深圳微软技术中心-鹏微教育中心举办的免费体验课:OffiEXCEL提供了许多财务函数,这些函数大体上可分为四类:投资计算函数、折旧计算函数、偿还率计算函数、债券及其EXCEL提供了许多财务函数,这些函数大体上可分为四类:投资计算函数、折旧计算函数、偿还率计算函数、债券及其大家好,今天的【PPT一分钟教程】介绍有关PPT设计层次感的塑造,前排的小伙伴儿们要认真听讲哦~首先来解释一大家好,今天的【PPT一分钟教程】介绍有关PPT设计层次感的塑造,前排的小伙伴儿们要认真听讲哦~首先来解释一vlookup是工作中excel中最常用的查找函数。但遇到反向、双向等复杂的表格查找,还是要请出今天的主角:vlookup是工作中excel中最常用的查找函数。但遇到反向、双向等复杂的表格查找,还是要请出今天的主角:随着六月毕业季的临近,各类专场招聘会轮番登场活跃在各大校园,捧着简历转战各大招聘会,成为应届毕业生在撰写论文随着六月毕业季的临近,各类专场招聘会轮番登场活跃在各大校园,捧着简历转战各大招聘会,成为应届毕业生在撰写论文日,深大微软商务应用课程——春季班正式结课,为期两个月的春季班在同学们的收获满满下落下帷幕,日,深大微软商务应用课程——春季班正式结课,为期两个月的春季班在同学们的收获满满下落下帷幕,友情提示,今天的教程需要自备一袋强力去污粉!我举几个栗子好啦,好像没有扁平到 Windows Phone 的程度,不过总体还是扁扁哒。1. 找张好图,用关注“鹏微教育中心”学习更多办公软件今天我来和大家说说如何制作斜线表头。在日常工作中,大家一定少不了和斜线表高手一出手,就知有没有!1、跨列居中推荐理由:合并单元格总会给我日,深大微软商务应用课程——寒假班2班正式结课,本次课程由白老师以及陈老师授课,在助教唱Microsoft Office是目前职场达人必备的软件!通过掌握Office软件的应用技能、提升解决实际问祝你圣诞快乐铃儿响,祝福忙,圣诞树下许愿望。吉祥到,袜子装,好运连连美荡漾。炉火旺,歌声扬,祈祷平安齐欢畅。Microsoft Office是目前职场达人必备的软件!通过掌握Office软件的应用技能、提升解决实际问Microsoft Office是目前职场达人必备的软件!通过掌握Office软件的应用技能、提升解决实际问日前,微软Office公益培训课正式启动!图为(东莞城市学院)课程活动!12月14日晚,财团团有幸邀请到深圳微软技术中心的白龙讲师来为我们财经“青马班”上了一节生动有趣的offic点击上面蓝字↑可以关注我们哦!鹏微教育中心么么哒!Microsoft Office是目前职场达人必备的软件!虽然未做过HR岗位,但回答过的人力资源管理相关excel问题却数不胜数。今天就把人力资源工作中最常用的函数公这是一份简历引起的故事。职场君在学校做就业指导时经常会给学生们上一些关于简历和面试的课程,通常每次上完课我都Microsoft Office是目前职场达人必备的软件!通过掌握Office软件的应用技能、提升解决实际问Microsoft Office是目前职场达人必备的软件!通过掌握Office软件的应用技能、提升解决实际问Microsoft Office是目前职场达人必备的软件!通过掌握Office软件的应用技能、提升解决实际问有一天,一个非常要好的朋友在微信上突然对我说,“我把亲戚给打了。”我的第一反应是问,“你被盗号了?”对方说,Microsoft Office是目前职场达人必备的软件!通过掌握Office软件的应用技能、提升解决实际问莫奈最出名的17张名画▽▽▽莫奈一生遗留500件素描,2000多幅油画及2700封信件。足迹由巴黎大街到地中Microsoft Office是目前职场达人必备的软件!通过掌握Office软件的应用技能、提升解决实际问Microsoft Office是目前职场达人必备的软件!通过掌握Office软件的应用技能、提升解决实际问Microsoft Office是目前职场达人必备的软件!通过掌握Office软件的应用技能、提升解决实际问小小的=号,今天在excel中展示一下它的超牛技巧,眼睁大了,别走神哦.Microsoft Office是目前职场达人必备的软件!通过掌握Office软件的应用技能、提升解决实际问Microsoft Office是目前职场达人必备的软件!通过掌握Office软件的应用技能、提升解决实际问Microsoft Office是目前职场达人必备的软件!通过掌握Office软件的应用技能、提升解决实际问Microsoft Office是目前职场达人必备的软件!通过掌握Office软件的应用技能、提升解决实际问Microsoft Office是目前职场达人必备的软件!通过掌握Office软件的应用技能、提升解决实际问excel中有一个功能,很多人不知道它怎么用,即使会用了,又不知道它是干啥用的。它就是:单变量求解。今天用一hoho,全都是一些私藏的海贼王图片,比较杂乱,但每一张都很有看头,今天简单与大家做一个分享,希望大家会喜欢之前在一家培训公司兼职讲师,有一次业务员向X单位推广excel培训,结果对方说他们单位的excel水平都非常100多年前的某天下午,在英国一个乡村的田野里,一位贫困的农民正在劳作。忽然,他听到远处传来了呼救的声音,原Microsoft Office是目前职场达人必备的软件!通过掌握Office软件的应用技能、提升解决实际问SZMSTC关注微软商务应用专家,了解最新办公软件技巧发布,时时解答您工作生活中办公软件的问题。即时收取最新职业规划、课程、活动等信息。第一时间接受问题反馈,也可直接拨打咨询电话:,详情了解。热门文章最新文章SZMSTC关注微软商务应用专家,了解最新办公软件技巧发布,时时解答您工作生活中办公软件的问题。即时收取最新职业规划、课程、活动等信息。第一时间接受问题反馈,也可直接拨打咨询电话:,详情了解。查看: 2765|回复: 4
如何实现两个表格比对
阅读权限10
在线时间 小时
(942.48 KB, 下载次数: 74)
15:51 上传
点击文件名下载附件
sheet1与sheet2
shee1是数据库,要比对sheet2中B列数据与sheet1中B列数据的差异,并将差值返回sheet2的C列。
其中sheet2的A列包含在sheet1的A列中。{:soso_e183:}{:soso_e181:}
阅读权限100
在线时间 小时
=SUMIF(sheet1!A:A,A2,sheet1!B:B)-B2复制代码
阅读权限30
在线时间 小时
=SUMPRODUCT(--(sheet1!A:A=A2),sheet1!B:B)-B2
阅读权限95
在线时间 小时
=SUM((sheet1!A$2:A$50297=A2)*sheet1!B$2:B$50297)-B2
阅读权限10
在线时间 小时
两个表格比对可以用VLOOKUP函数吗
玩命加载中,请稍候
玩命加载中,请稍候
Powered by
本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任! & & 本站特聘法律顾问:徐怀玉律师 李志群律师更多频道内容在这里查看
爱奇艺用户将能永久保存播放记录
过滤短视频
暂无长视频(电视剧、纪录片、动漫、综艺、电影)播放记录,
使用您的微博帐号登录,即刻尊享微博用户专属服务。
使用您的QQ帐号登录,即刻尊享QQ用户专属服务。
使用您的人人帐号登录,即刻尊享人人用户专属服务。
按住视频可进行拖动
把视频贴到Blog或BBS
当前浏览器仅支持手动复制代码
视频地址:
flash地址:
html代码:
通用代码:
通用代码可同时支持电脑和移动设备的分享播放
收藏成功,可进入查看所有收藏列表
方式1:用手机看
用爱奇艺APP或微信扫一扫,在手机上继续观看:
两个excel数据对比 电子表格制作教程
方式2:一键下载至手机
限爱奇艺安卓6.0以上版本
使用微信扫一扫,扫描左侧二维码,下载爱奇艺移动APP
其他安装方式:手机浏览器输入短链接http://71.am/udn
下载安装包到本机:&&
设备搜寻中...
请确保您要连接的设备(仅限安卓)登录了同一爱奇艺账号 且安装并开启不低于V6.0以上版本的爱奇艺客户端
连接失败!
请确保您要连接的设备(仅限安卓)登录了同一爱奇艺账号 且安装并开启不低于V6.0以上版本的爱奇艺客户端
部安卓(Android)设备,请点击进行选择
请您在手机端下载爱奇艺移动APP(仅支持安卓客户端)
使用微信扫一扫,下载爱奇艺移动APP
其他安装方式:手机浏览器输入短链接http://71.am/udn
下载安装包到本机:&&
爱奇艺云推送
请您在手机端登录爱奇艺移动APP(仅支持安卓客户端)
使用微信扫一扫,下载爱奇艺移动APP
180秒后更新
打开爱奇艺移动APP,点击“我的-扫一扫”,扫描左侧二维码进行登录
没有安装爱奇艺视频最新客户端?
爸爸去哪儿2游戏 立即参与
两个excel数据对比 电子表格制作教程
播放量数据:
你可能还想订阅他们:
{{#needAdBadge}} 广告{{/needAdBadge}}
&正在加载...
您使用浏览器不支持直接复制的功能,建议您使用Ctrl+C或右键全选进行地址复制
安装爱奇艺视频客户端,
马上开始为您下载本片
5秒后自动消失
&li data-elem="tabtitle" data-seq="{{seq}}"& &a href="javascript:void(0);"& &span>{{start}}-{{end}}&/span& &/a& &/li&
&li data-downloadSelect-elem="item" data-downloadSelect-selected="false" data-downloadSelect-tvid="{{tvid}}"& &a href="javascript:void(0);"&{{pd}}&/a&
选择您要下载的《
色情低俗内容
血腥暴力内容
广告或欺诈内容
侵犯了我的权力
还可以输入
您使用浏览器不支持直接复制的功能,建议您使用Ctrl+C或右键全选进行地址复制如何在Excel中快速辨别两列数据是否一致的四种方法介绍
作者:佚名
字体:[ ] 来源:互联网 时间:09-22 17:02:57
这样的工作在很多数据分析中经常会遇到,其实利用Excel中的条件格式功能,既可快速判别同一行中的两列数据是否相同,如果不相同则应用不同的颜色标识。下面小编就为大家介绍如何在Excel中快速辨别两列数据是否一致的四种方法,一起来看看吧
在很多情况下我们需要将Excel表格中的一些数据整理一下,特别是一些相同的数据,我们需要将其找出,然后删除掉。但是在两列单元格中光是用眼睛去查找的话可能很难分辨出来,而且还很费神,何不试试用Excel中的公式自动分辨有哪些相同数据呢?下面有4种方法可以快速帮大家找出重复数据。
我们以下表的数据为例,具体的介绍一下操作方法。
Excel分别对AB列两列数据对比,比如A2=B2,就返回相同,否则返回不相同。
D2公式为:=IF(C2=B2,&相同&,&不同&),这样就可以实现excel两列对比,判断C2和B2是否相同,如果相同就返回值&相同&,反之则显示不同。
同样的方法比较其它数据,结果如下图:
不过细心的朋友会发现,B5和C5实质上有大小写区分的,因此使用这个公式不是完全准确。Excel中exact函数可以完全区分大小写,因此C2公式可以更改为:=IF(EXACT(A2,B2)=TRUE,&相同&,&不同&),然后下拉复制公式,完成excel两列数据对比。
这样我们就很准确的判断两列数据是否相同了,各位朋友按这方法试试。
AB两列都是客户的姓名,需要找到两列重复的客户名称,并标示出来。
C1单元格输入数组公式:=IF(COUNTIF(A:A,B1)=0,&不重复&,&&),然后下拉完成excel两列数据对比。
在Excel中通过比较两列中的数据来查找重复项。如果A列的数据没有在B列出现过,就保留单元格为空。如果A列的数据在B列出现过,就返回A列对应的数据。
C1输入公式:=IF(ISERROR(MATCH(A1,$B$1:$B$5,0)),&&,A1)。Match部分得到的结果是#N/A或者数字,然后用ISERROR函数,将#N/A错误值进行处理,ISERROR(#N/A)得到TRUE,ISERROR(数字)得到false,最外面用IF函数来进行判断,如果第一参数是true,就执行第二参数,否则执行第三参数。这个应用是巧用excel两列对比,完成查找重复项。
Excel中用vlookup函数来对比两列。
B1单元格公式为:=IF(ISNA(VLOOKUP(A1,$C$1:$C$6,1,)),&&A有C无&,&&AC共有&)
D1单元格公式为:=IF(ISNA(VLOOKUP(C1,$A$1:$A$6,1,)),&&C有A无&,&&CA共有&)
然后下拉复制公式,完成Excel两列对比。
以上就是如何在Excel中快速辨别两列数据是否一致的四种方法介绍,希望对大家有所帮助!
大家感兴趣的内容
12345678910
最近更新的内容

我要回帖

更多关于 excel快速比对 的文章

 

随机推荐