如何实现两个EXCEL里数据的匹配
更新时间:2023-09-06 01:57:01 阅读量: 教育文库 文档下载
如何实现两个EXCEL里数据的匹配
工作上遇到了想在两个不同的EXCEL表里面进行数据的匹配,如果有相同的数据项,则输出一个“YES”,如果发现有不同的数据项则输出“NO”,这里用到三个EXCEL的函数,觉得非常的好用,特贴出来,也是小研究一下,发现EXCEL的功能的确是挺强大的。这里用到了三个函数:VLOOKUP、ISERROR和IF,首先对这三个函数做个介绍。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ VLOOKUP:功能是在表格的首列查找指定的数据,并返回指定的数据所在行中的指定列处的数据。函数表达式是:
VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
1. Lookup_value为“需在数据表第一列中查找的数据”,可以是数值、文本字符串或引用。
2.Table_array 为“需要在其中查找数据的数据表”,可以使用单元格区域或区域名称等。 ⑴ 如果 range_lookup 为 TRUE或省略,则 table_array 的第一列中的数值必须按升序排列,否则,函数 VLOOKUP 不能返回正确的数值。如果 range_lookup 为 FALSE,table_array 不必进行排序。
⑵Table_array 的第一列中的数值可以为文本、数字或逻辑值。若为文本时,不区分文本的大小写。
3. Col_index_num 为table_array 中待返回的匹配值的列序号。
Col_index_num 为 1 时,返回 table_array 第一列中的数值;Col_index_num 为 2 时,返回 table_array 第二列中的数值,以此类推;如果Col_index_num 小于 1,函数 VLOOKUP 返回错误值 #VALUE!;如果Col_index_num 大于 table_array 的列数,函数 VLOOKUP 返回错误值 #REF!。
4.Range_lookup 为一逻辑值,指明函数 VLOOKUP 返回时是精确匹配还是近似匹配。如果为 TRUE 或省略,则返回近似匹配值,也就是说,如果找不到精确匹配值,则返回小于lookup_value 的最大数值;如果 range_value 为 FALSE,函数 VLOOKUP 将返回精确匹配值。如果找不到,则返回错误值 #N/A。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ISERROR:它属于IS系列,IS系列用来检验数值或引用类型,有九个相关的函数: ISBLANK(value) :判断值是否为空白单元格。
ISERR(value) :判断值是否为任意错误值(除去 #N/A)。
ISERROR(value) :判断值是否为任意错误值(#N/A、#VALUE!、#REF!、#DIV/0!、#NUM!、#NAME? 或 #NULL!)。
ISLOGICAL(value) :判断值是否为逻辑值。
ISNA(value) :判断值是否为错误值 #N/A(值不存在)。
ISNONTEXT(value) :判断值是否为不是文本的任意项(注意此函数在值为空白单元格时返回 TRUE)。
ISNUMBER(value) :判断值是否为数字。
ISREF(value) : 判断值是否为引用。
ISTEXT(value) :判断值是否为文本。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
IF:执行逻辑判断,它可以根据逻辑表达式的真假,返回不同的结果,从而执行数值或公式的条件检测任务。函数表达式为:IF(logical_test,value_if_true,value_if_false),其中含义如下所示:
logical_test:要检查的条件。
value_if_true:条件为真时返回的值。
value_if_false:条件为假时返回的值。
——————————————————————————————————————————————————— 下面介绍下通过上述的三个函数如何达到我想要的要求的,下图是工作中的两个EXCEL表,sheet1和sheet2,现在要将sheet2的每一行数据在sheet1中查找匹配,如有sheet1中存在,则在sheet2中的E列显示“存在”,否则显示“不存在”。
sheet2
sheet1
首先使用了VLOOKUP函数将sheet1中的数据在sheet2中进行查找,
=VLOOKUP(A2,sheet1!$A$2:$C$952,1,FALSE),其中A2表示用来匹配项的数据,将A2在sheet1的所有列中查找就是使用第二个条件:sheet1!$A$2:$C$952,“$”表示绝对引用,复制的时候不会随着单元格位置变化而变化,1表示匹配成功后返回第一列的数据,否则返回#N/A,FALSE表示返回精确匹配值。
注:绝对引用和相对引用只要在公式栏里面对应的数据下按F4功能键即可切换。
当有返回结果后刚开始直接使用IF去判断了,公式是:
=IF(VLOOKUP(A2,sheet1!$A$2:$C$952,1,FALSE)=A2,"存在","不存在"),这个时候发现当匹配成功的时候输出了“存在”,当匹配不成功是却输出了“#N/A”,一直没法实现想要的结果,后来发现VLOOKUP只能输出指定的值或者“#N/A”,而与A2判断的结果也为“#N/A”,作为IF函数是无法识别“#N/A”,这样导致不会输出“不存在”,所以要想办法将IF的第一个条件的结果是“Ture”or "False",于是就找到了函数ISERROR(Value),这个输出的结果是“Ture”or "False",于是公式就变成了
=IF(ISERROR(VLOOKUP(A2,sheet1!$A$2:$C$952,1,FALSE)),"不存在","存在"),大功告
成,输出自己想要的结果,当在shhet2中的项目能在sheet1中找到时输出“存在”,找不到时输出“不存在”。
总结:VLOOKUP的函数比较好用,可以寻找并且匹配,但是要注意只能是匹配项在首列,如果不是则要用HLOOKUP函数。EXCEL的函数功能还是挺强大的,好好研究对于我们数据统计和处理是非常有帮助的,目前对于VLOOKUP、ISERROR和IF三个函数有一定的认识,以后还得继续研究学习。
正在阅读:
如何实现两个EXCEL里数据的匹配09-06
单片机原理实验指导书(7)03-08
领导班子对照检查材料201902-24
基于VC++的串口通信服务的开发06-25
2015年驾照考试科目一知识点归纳总结 (完整版)04-25
骨科应急预案及流程(1)05-24
安徽省村庄建设规划技术要点1-2401-26
精选小升初新生学好初中的数学课程的方法03-30
安全管理制度范本(最新版)07-01
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 匹配
- 两个
- 实现
- 数据
- 如何
- EXCEL
- 项目计划管理办法
- 大樱桃种植专业合作社经营情况汇报
- 乐团管理制度
- cisco交换机口令2
- 编制放射性污染应急处置设备项目融资商业计划书(包括可行性研究报告+融资方案设计)及融资指导
- 语文s版小学一年级声母、韵母练习1
- 大学生职业生涯与规划(入学版)2019版本二尔雅答案100分
- 电大流通概论形成性考核册习题和答案
- 企业网络产品版本推荐列表_2013Q3_A
- Python语言程序设计(美-梁勇)第5章习题解答
- 【国家自然科学基金】_组合神经网络_基金支持热词逐年推荐_【万方软件创新助手】_20140801
- 中国天丝坯布市场深度全景调研及“十三五”发展前景预测报告2016-2021年
- 2013版用于立项高浓度工业废水处理设备项目可行性研究报告(甲级资质)审查要求及编制方案
- 2018年中国数据中心IT基础设施第三方服务现状研究及发展趋势预测(目录)
- 2010年九年级数学文理联赛模拟试卷20
- 智慧社区建设方案实施解决方案word
- SCM_软件配置管理与SVN基础应用
- 血糖监测记录表
- 北京师范大学附属中学2018-2019学年高一上学期期末考试数学试题(精品解析)
- 中学数学中换元法的应用与常见错误分析