EXCEL 如何excel匹配两列相同项字符数据并显示对应数据

Excel表格中数据比对和查找的几种技巧 - Office办公助手
专业的Office办公软件学习和Office办公软件教程网站!
Excel表格中数据比对和查找的几种技巧
发布时间:09-11 来源:Office办公助手
经常被人问到怎么对两份Excel数据进行比对,提问的往往都很笼统;在工作中,有时候会需要对两份内容相近的数据记录清单进行比对,需求不同,比对的的目标和要求也会有所不同。下面Office办公助手()的小编根据几个常见的应用环境介绍一下Excel表格中数据比对和查找的技巧。
应用案例一:比对取出两表的交集(相同部分)
Sheet1中包含了一份数据清单A,sheet2中包含了一份数据清单B,要取得两份清单共有的数据记录(交集),也就是要找到两份清单中的相同部分。
方法1:高级筛选
高级筛选是处理重复数据的利器。
选中第一份数据清单所在的数据区域,在功能区上依次单击【数据】&&【高级】(2003版本中菜单操作为【数据】&&【筛选】&&【高级筛选】),出现【高级筛选】对话框。
在对话框中,筛选【方式】可以根据需求选取,例如这里选择&将筛选结果复制到其他位置&;【列表区域】就是之前所选中的第一份数据清单A所在的单元格区域;【条件区域】则选取另外那份清单B所在的单元格区域。如下图所示:
点击【确定】按钮后,就可以直接得到两份清单的交集部分,效果如下图。其中两个清单中虽然都有【西瓜】和【菠萝】,但是由于数量不一致,所以没有作为相同记录被提取出来。
这个操作的原理,就是利用了高级筛选功能对于匹配指定条件的记录进行筛选的功能,把两张表中的任意一张作为条件区域,在另外一张表中就能筛选出与之相匹配的记录,忽略掉其他不相关的记录。
需要注意的是,使用高级筛选的时候务必注意两个清单的标题行要保持一致(高级筛选中作为条件区域的前提),并且在选取【列表区域】和【条件区域】的时候都要把标题行的范围包含在其中。
方法2:公式法
使用公式进行比对的方法有很多,如果是单列数据对比比较常用的函数是,如果是多列数据记录对比,比较胜任。
在其中一张清单的旁边输入公式:
=SUMPRODUCT((A2&B2=Sheet2!A$2:A$13&Sheet2!B$2:B$13)*1)
并向下复制填充。其中的Sheet2!A$1:A$13和Sheet2!B$2:B$13是另一张清单中的两列数据区域,需要根据实际情况修改。公式结果等于1的记录就是两个清单的交集部分,如下图所示:
应用案例二:取出两表的差异记录
要在某一张表里取出与另一张表的差异记录,就是未在另外那张清单里面出现的部分,其原理和操作都和上面第一种场景的差不多,所不同的只是筛选后所选取的集合正好互补。
方法1:高级筛选
先将两个清单的标题行更改使之保持一致,然后选中第一份数据清单所在的数据区域,在功能区上依次单击【数据】&&【高级】,出现【高级筛选】对话框。在对话框中,筛选方式选择&在原有区域显示筛选结果&;【列表区域】和【条件区域】的选取和前面场景1完全相同,如下图所示:
点击【确定】完成筛选,将筛选出来的记录全部选中按【Del】键删除(或做标记),然后点击【清除】按钮(2003版本中为【全部显示】按钮)就可以恢复筛选前的状态得到最终的结果,如下图所示:
方法2:公式法
使用公式的话,方法和场景1完全相同,只是最后需要提取的是公式结果等于0的记录。
应用案例三:取出关键字相同但数据有差异的记录
前面的两份清单中,【西瓜】和【菠萝】的货品名称虽然一致,但在两张表上的数量却不相同,在一些数据核对的场景下,就需要把这样的记录提取出来。
方法1:高级筛选
高级筛选当中可以使用特殊的公式,使得高级筛选的功能更加强大。
第一张清单所在的sheet里面,把D1单元格留空,在D2单元格内输入公式:
=VLOOKUP(A2,Sheet2!$A$2:$B$13,2,0)&&B2
然后在功能区上依次单击【数据】&&【高级】,出现【高级筛选】对话框。在对话框中,筛选方式选择&在原有区域显示筛选结果&;【列表区域】选取第一张清单中的完整数据区域,【条件区域】则选取刚刚特别设计过的D1:D2单元格区域,如下图所示:
点击【确定】按钮以后,就可以得到筛选结果,就是第一张中货品名称与第二张表相同但数量却不一致的记录清单,如下图所示:
同样的,照此方法在第二张清单当中操作,也可以在第二张清单中找到其中与第一张清单数据有差异的记录。
这个方法是利用了高级筛选中可以通过自定义公式来添加筛选条件的功能,有关高级筛选中使用公式作为条件区域的用法,可参考本站发布的;另外一篇教程:
Excel中数据库函数和高级筛选条件区域设置方法详解
方法2:公式法
使用公式还是可以利用前面用到的SUMPRODUCT函数,在其中一张清单的旁边输入公式:
=SUMPRODUCT((A2=Sheet2!A$2:A$13)*(B2&&Sheet2!B$2:B$13))
并向下复制填充。公式中的包含了两个条件,第一个条件是A列数据相同,第二个条件是B列数据不相同。公式结果等于1的记录就是两个清单中数据有差异的记录,如下图所示。这个例子中也可以使用更为人熟知的来进行匹配查询,但是VLOOKUP只适合单列数据的匹配,如果目标清单中包含了更多字段数据的差异对比,还是的扩展性更强一些。
上一篇: 下一篇:查看: 3338|回复: 2
如何进行两列数据进行对比?
积分学习力
魅力值 影响力
消费券 Ti币好友
在线时间 小时
最后登录月度优秀 次管理次数 次
网站名称: Excel技巧网 | Excel专家栖息谷 | 微软中文技术社区合作伙伴
署名作者: wise
版权声明: 版权归本站与作者共有 除本站官方外非作者本人转载须经许可并注明出处
适用版本: 03以前版本&
语言环境: 简体中文
学习方法: 掌握Excel技巧的关键是动手操作
下载 ≠ 知识
免费注册成为本站会员,享用更多功能,结识更多Office办公高手!
才可以下载或查看,没有帐号?
Q:如何进行两列数据进行对比?
未命名.jpg (84.43 KB, 下载次数: 2)
如何进行两列数据进行对比?
21:44 上传
将A列中带有*的字符串的前10个字母与B列中字符串的前10个字母进行比较,如果B列中有任意一个字符串的前10位与A列中的相同,则在B列符合条件的字符串的同一行的C列中标注&Y&。
A:ALT+F11→插入模块→在模块中输入以下代码:
Sub test()
& & '定义变量
& & Dim Arr, k%, Str$
& &
& & '把A列中的数据赋予给Arr数组
& & Arr = Range(&A2&, [A1].End(xlDown))
& & '然后把Arr数组中的数据转置,然后使用Join连接在一起
& & Str = Join(Application.Transpose(Arr))
& & '将B列的数据区域及C列相对应的区域赋于数组,注意这个数组是两列的
& & Arr = Range(&B2&, [B1].End(xlDown).Offset(0, 1))
& & '循环Arr数组
& & For k = 1 To UBound(Arr)
& && &&&'转换Arr数组第一列的数据:即提取左边10个字符并连接&**&号形成新的数值
& && &&&Arr(k, 1) = Left(Arr(k, 1), 10) & &**&
& && &&&'如果从Str字符中能够查到Arr(k,1)的数值,则在相应的Arr(k,2)赋予一个值&Y&
& && &&&If InStr(Str, Arr(k, 1)) Then Arr(k, 2) = &Y&
& & Next
& & '然后把Arr(k,2那一列的值赋予给C列
& & [C2].Resize(k - 1, 1) = Application.Index(Arr, , 2)
End Sub复制代码
(152.15 KB, 下载次数: 35)
21:44 上传
点击文件名下载附件
如何进行两列数据进行对比?
学office,哪能不关注全网最大的Office类微博(新浪)
新鲜人, 积分 3, 距离下一级还需 7 积分
积分学习力
魅力值 影响力
消费券 Ti币好友
在线时间 小时
最后登录月度优秀 次
学office,哪能不关注全网最大的Office类微博(新浪)
初级二, 积分 95, 距离下一级还需 155 积分
积分学习力
魅力值 影响力
消费券 Ti币好友
在线时间 小时
最后登录月度优秀 次
本帖最后由 猴子 于
22:32 编辑
这是我想学习的、、、& && && && && && && &&&版主这句看不懂,能解释一下吗?Arr = Range(&B2&, [B1].End(xlDown).Offset(0, 1))
学office,哪能不关注全网最大的Office类微博(新浪)
Excel技巧网的会员探讨问题仅代表其个人意见,与网站的立场无关。任何违反国家和地方相关法律法规的言论,本站有义务协助政府相关部门追究发言者的责任!
本站中非注明转载文章与案例的版权为作者与Excel技巧网共有。若非原文作者,本站之外任何单位或个人未经允许,不得将其用于商业用途。
若非原文作者,任何形式的非商业性转载必须获得Excel技巧网或作者允许,并注明作者和出处。
会员发表的帖子如涉及版权纠纷,须自行负责。详情请参考注册时的网站服务条款。
本站特聘法律顾问:沈学律师
Powered by如何在excle表中比较两列数据,不同的在第三列显示出来_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
如何在excle表中比较两列数据,不同的在第三列显示出来
上传于||暂无简介
阅读已结束,如果下载本文需要使用
想免费下载本文?
你可能喜欢

我要回帖

更多关于 excel匹配两列相同项 的文章

 

随机推荐