Excel2003中两列对比如何快速辨别相同与不同数据的图文介绍
点评:在很多情况下我们需要将Excel表格中的一些数据整理一下,特别是一些相同的数据,我们需要将其出,然后删除掉。但是在两列单元格中光是用眼睛去查的话可能很难分辨出来,而且还很费神,何不试试用Excel中的公式自动分辨有哪些相同数据呢
在很多情况下我们需要将Excel表格中的一些数据整理一下,特别是一些相同的数据,我们需要将其出,然后删除掉。但是在两列单元格中光是用眼睛去查的话可能很难分辨出来,而且还很费神,何不试试用Excel中的公式自动分辨有哪些相同数据呢?下面有4种方法可以快速帮大家出重复数据。
方法一、
Excel分别对AB列两列数据对比,比如A2=B2,就返回相同,否则返回不相同。
C2公式为:=IF(A2=B2,"相同","不同"),这样就可以实现excel两列对比。
不过细心的朋友会发现,A5和B5实质上有大小写区分的,因此使用这个公式不是完全准确。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两列对比。
VLOOKUP函数
在表格或数值数组的首列查指定的数值,并由此返回表格或数组中该数值所在行中指定列处的数值。
这里所说的“数组”,可以理解为表格中的一个区域。数组的列序号:数组的“首列”,就是这个区域的第一纵列,此列右边依次为第2列、3列……。假定某数组区域为B2:E10,那么,B2:B10为第1列、C2:C10为第2列……。
语法:
VLOOKUP(查值,区域,列序号,逻辑值)
“查值”:为需要在数组第一列中查的数值,它可以是数值、引用或文字符串。
“区域”:数组所在的区域,如“B2:E10”,也可以使用对区域或区域名称的引用,例如数据库或数据清单。
“列序号”:即希望区域(数组)中待返回的匹配值的列序号,为1时,返回第一列中的数值,为2时,返回第二列中的数值,以此类推;若列序号小于1,函数VLOOKUP 返回错误值 #VALUE!;如果大于区域的列数,函数VLOOKUP返回错误值 #REF!。
“逻辑值”:为TRUE或FALSE。它指明函数 VLOOKUP 返回时是精确匹配还是近似匹配。如果为 TRUE 或省略,则返回近似匹配值,也就是说,如果不到精确匹配值,则返回小于“查值”的最大数值;如果“逻辑值”为FALSE,函数 VLOOKUP 将返回精确匹配值。如果不到,则返回错误值 #N/A。如果“查值”为文本时,“逻辑值”一般应为 FALSE 。另外:
·如果“查值”小于“区域”第一列中的最小数值,函数 VLOOKUP 返回错误值 #N/A。
·如果函数 VLOOKUP 不到“查值” 且“逻辑值”为 FALSE,函数 VLOOKUP 返回错误值 #N/A。
下面举例说明VLOOKUP函数的使用方法。
假设在Sheet1中存放小麦、水稻、玉米、花生等若干农产品的销售单价:
两张表格查重复数据 A B
1 农产品名称 单价
2 小麦 0.56
3 水稻 0.48
4 玉米 0.39
5 花生 0.51
…………………………………
100 大豆 0.45
Sheet2为销售清单,每次填写的清单内容不尽相同:要求在Sheet2中输入农产品名称、数量后,根据Sheet1的数据,自动生成单价和销售额。设下表为Sheet2:
A B C D
1 农产品名称 数量 单价 金额
2 水稻 1000 0.48 480
3 玉米 2000 0.39 780
…………………………………………………
在D2单元格里输入公式:
=C2*B2 ;
在C2单元格里输入公式:
=VLOOKUP(A2,Sheet1!A2:B100,2,FALSE) 。
如用语言来表述,就是:在Sheet1表A2:B100区域的第一列查Sheet2表单元格A2的值,查到后,返回这一行第2列的值。
这样,当Sheet2表A2单元格里输入的名称改变后,C2里的单价就会自动跟着变化。当然,如Sheet1中的单价值发生变化,Sheet2中相应的数值也会跟着变化。
其他单元格的公式,可采用填充的办法写入。
VLOOKUP函数使用注意事项
说到VLOOKUP函数,相信大家都会使用,而且都使用得很熟练了。不过,有几个细节问题,大家在使用时还是留心一下的好。
一.VLOOKUP的语法
VLOOKUP函数的完整语法是这样的:
VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
1.括号里有四个参数,是必需的。最后一个参数range_lookup是个逻辑值,我们常常输入一个0字,或者False;其实也可以输入一个1字,或者true。两者有什么区别呢?前者表示的是完整寻,不到就传回错误值#N/A;后者先是一模一样的,不到再去很接近的值,还不到也只好传回错误值#N/A。这对我们其实也没有什么实际意义,只是满足好奇而已,有兴趣的朋友可以去体验体验。
2.Lookup_value是一个很重要的参数,它可以是数值、文字字符串、或参照地址。我们常常用的是参照地址。用这个参数时,有两点要特别提醒:
A)参照地址的单元格格式类别与去搜寻的单元格格式的类别要一致,否则的话有时明明看到有资料,就是抓不过来。特别是参照地址的值是数字时,最为明显,若搜寻的单元格格式类别为文字,虽然看起来都是123,但是就是抓不出东西来的。
而且格式类别在未输入数据时就要先确定好,如果数据都输入进去了,发现格式不符,已为时已晚,若还想去抓,则需重新输入。
B)第二点提醒的,是使用时一个方便实用的小技巧,相信不少人早就知道了的。我们在使用参照地址时,有时需要将lookup_value的值固定在一个格子内,而又要使用下拉方式(或复制)将函数添加到新的单元格中去,这里就要用到“$”这个符号了,这是一个起固定作用的符号。比如说我始终想以D5格式来抓数据,则可以把D5弄成这样:$D$5,则不论你如何拉、复制,函数始终都会以D5的值来抓数据。
3.Table_array是搜寻的范围,col_index_num是范围内的栏数。Col_index_num 不能小于1,其实等于1也没有什么实际用的。如果出现一个这样的错误的值#REF!,则可能是col_index_num的值超过范围的总字段数。
二.VLOOKUP的错误值处理。
我们都知道,如果不到数据,函数总会传回一个这样的错误值#N/A,这错误值其实也很有用的。比方说,如果我们想这样来作处理:如果到的话,就传回相应的值,如果不到的话,我就自动设定它的值等于0,那函数就可以写成这样:
=if(iserror(vlookup(1,2,3,0))=true,0,vlookup(1,2,3,0))
这句话的意思是这样的:如果VLOOKUP函数返回的值是个错误值的话(不到数据),就等于0,否则,就等于VLOOKUP函数返回的值(即到的相应的值)。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论