中企动力 > 商学院 > vlookup两个表格查找相同数据
  • ?

    EXCEL表格中国VLOOKUP查询多个结果示例

    於谷波

    展开

    懂EXCEL的朋友知道,不管是LOOKUP函数还是VLOOKUP函数,查询显示的结果都只是一条,示例如下:

    从上面可以看到,查询“张潇潇”B3单元格无论LOOKUP和VLOOKUP函数,都只能显示出一条结果。

    如果要显示多条结果,那么分析这个问题后我的思路是虽然有四个“张潇潇”,但是我可以把这个值编上序号“张潇潇1”,“张潇潇2”,“张潇潇3”,“张潇潇4”,,然后在查询。

    首先是排序,姓名排序,然后F3=COUNTIF($C$3:C4,C4)下拉进行排序,然后B3=C3&F3,最后以B列为桥梁查询。

  • ?

    如果你只会Vlookup函数那就别说你懂表格,Excel全部查找公式(共16大类)

    曲太君

    展开

    找对比,你会首先想到

    Vlookup

    函数。但在Excel中只会Vlookup函数是远远不够的。今天兰色对查找公式进行一次全面的整理。

    对于一个地方需要用到对比的时候我们肯定想到的是Vlookup函数,但是你在用Excel的时候只会用它可不行,今天我们就一起来梳理下常用的!

    地球人都知道:一题多解的只选取最优公式!

    1、普通查找VLOOKUP函数

    我们需要查找李晓峰的应发工资

    公式:=VLOOKUP(H2,B:F,5,0)

    2、反向查找INDEX

    函数

    查找吴刚的员工编号

    公式:=INDEX(A:A,MATCH(H2,B:B,0))

    反向查找

    3、交叉查找VLOOKUP函数:

    查找3月办公费的金额

    公式:=VLOOKUP(H2,A:F,MATCH(I2,1:1,0),0)

    4、多条件查找

    VLOOKUP函数

    查找上海产品B的销量

    公式:=LOOKUP(1,0/((A2:A7=E2)*(B2:B7=F2)),C2:C7)

    5、区间查找

    根据销量从右表中查找提成比率。

    公式:=LOOKUP(A2,$D$2:$E$5)

    6、双区间查找

    根据销量和比率完成情况,从表中查找返利。

    公式:=INDEX(B3:F7,MATCH(D11,A3:A7),MATCH(E11,B2:F2))

    7、线型插值

    A列是数量,B列是数量对应的系数值。现要求出数字8所对应的系数值。

    公式:=TREND(OFFSET(B1,MATCH(D3,A2:A6,1),,2,1),OFFSET(A1,MATCH(D3,A2:A6,1),,2,1),D3)

    8、查找最后一个符合条件记录

    要求查找A产品的最后一次进价。

    公式:=LOOKUP(1,0/(B2:B9=A13),C2:C9)

    9、模糊查找

    要求根据提供的城市从上表中查找该市名的第2列的值。

    公式:=VLOOKUP("*"&A7&"*",A1:B4,2,0)

    10、匹配查找

    要求根据地址从上表中查找所在城市的提成。

    公式:=lookup(9^9.find(A$3:A$6,A10),B$3:B$6)

    11、最后一个非空值查找

    要求查找最后一次还款日期

    公式:=LOOKUP(1,0/(B2:B13<>""),$A2:$A13)

    12、多工作表查找

    【例10】从各部门中查找员工的基本工资,在哪一个表中不一定。

    方法1

    公式:=IFERROR(VLOOKUP(A2,服务!A:G,7,0),IFERROR(VLOOKUP(A2,人事!A:G,7,0),IFERROR(VLOOKUP(A2,综合!A:G,7,0),IFERROR(VLOOKUP(A2,财务!A:G,7,0),IFERROR(VLOOKUP(A2,销售!A:G,7,0),"无此人信息")))))

    方法2:

    公式:=VLOOKUP(A2,INDIRECT(LOOKUP(1,0/COUNTIF(INDIRECT({"销售";"服务";"人事";"综合";"财务"}&"!a:a"),A2),{"销售";"服务";"人事";"综合";"财务"})&"!a:g"),7,0)

    13、一对多查找

    【例】根据产品查找相对应的所有供应商

    公式:

    A2 =B2&COUNTIF(B$1:B2,B2)

    B11=IFERROR(VLOOKUP($A11&COLUMN(A1),$A:$C,3,0),"")

    14、查找销量最大的城市

    查找销量最大的城市。注意:注意:注意:数组公式按ctrl+shift+enter三键输入

    公式:{=INDEX(A:A,MAX((MAX(B3:B7)=B3:B7)*ROW(B3:B7)))}

    15、最接近值查找

    根据D4的价格,在B列查找最接近的价格,并返回相对应的日期

    注意:注意:注意:数组公式按ctrl+shift+enter三键输入

    公式:{=LOOKUP(1,0/(MIN(ABS(B3:B7-D4))=ABS(B3:B7-D4))*ROW(B3:B7),A3:A7)}

    15、跨多文件查找

    跨多个文件查找,网上大概很难找到这样的教程,仔细想想其实原理和跨多表查找一样,也是借助lookup等函数实现。

    文件夹中有N个仓库产品表格,需要在“查询”文件完成查询

    仓库表样式

    在查询表中设置公式,根据产品名称从指定的文件中sheet1工作表查询

    入库单价

    公式:=VLOOKUP(A2,INDIRECT(LOOKUP(1,0/COUNTIF(INDIRECT("["&{"仓库1";"仓库2";"仓库3"}&".xlsx]sheet1!a:a"),A2),"["&{"仓库1";"仓库2";"仓库3"}&".xlsx]sheet1")&"!a:b"),2,0)。

    如果你在用vlookup函数做多文件查找的时候也可以用iferror+vlookup的模式的这种模式,看起来公式很长,但是这样不会出错。此外,如果一个表用到的函数太多就需要用宏表函数用Files获取所有excel文件名称了。

    老男孩PS

    :我能想到的基本上都已经列出来了,但是我相信有很多大家可能看不懂,但是看不懂没关系,赶紧收藏起来,然后直接套用就可以了。

  • ?

    查找返回多个数据值新思路,自制多功能查询函数比vlookup更简单

    Marmara

    展开

    转载自百家号作者:Excel函数与VBA实例

    在工作中我们经常会碰到根据某个单一条件去查找对应的数据值,这个时候我们常用的一个万能查询函数那就是vlookup函数,vlookup函数可以实现基本的向左、向右以及多条件值数据查询等功能。但是这个函数有个弊端就是,不能实现返回多个数据值。

    如当我们在查询某个人当天所有门禁刷卡时间或当天人员的所有销售记录时候,从上往下查找只能查找出最上面的第一条数据,无法提取出整天的数据。如果要实现这个功能就需要用辅助操作来实现,会显得比较麻烦。那么今天我们就来讲讲自定义多功能查询函数和vlookup函数分别是如何解决这个问题的。

    方法一、vlookup函数如何查找返回多个数据值

    问题:提取张三7月1日所有刷卡记录

    如上图效果图所示,当我们输入函数=VLOOKUP(ROW(A1),A:D,4,0)往下拖动,张三当天的所有刷卡记录都会显示出来,因为总共只有3条数据,所以第四条结果开始就会出现错误值。

    操作方法:

    第一步:首先用countif函数做一个辅助列,因为单纯的vlookup函数查询是无法返回多个数值的。插入A列,辅助列函数为:COUNTIF(C$2:C2,F$4)。

    注意点:函数COUNTIF函数中C$2:C2,是非常有深意的,用相对引用的方式往下拖动,分别代表的数据区域则为:C$2:C3、C$2:C4、C$2:C5等。这样代表的意思就是可以查找出对应的人出现过多少次。

    第二步:输入函数VLOOKUP(ROW(A1),A:D,4,0)进行数据查询,然后往下拖动即可返回姓名为张三的所有值。

    注意点:vlookup函数第一参数使用ROW(A1)为条件值的目的是,通过对应姓名所在的数值来进行数据查询。比如第一条记录8:38分,选择函数ROW(A1)按F9,返回的是1;第二条记录10:15分,选择函数ROW(A1)按F9,返回的是2,以此类推。效果如下图所示:

    方法二:自定义Mlookup多功能函数查找返回多个数据值

    问题:提取张三7月1日所有销售单号

    如上图效果图所示,输入函数:Nlookup(F4,C:D,2,-1),即可返回张三7月1日销售的所有单号:2018070101,2018070106,2018070111,是不是感觉比vlookup函数更加简单神奇。这需要用到的是VBA代码来自定义一个Nlookup函数。

    操作方法:

    第一步:按alt+f11进入代码编辑窗口,新建一个模块;

    第二步:输入以下代码后,保存为宏文件,即可使用自定义的Nlookup函数,如果你需要修改为其他自己喜欢的函数,可以全部替换即可。

    代码如下:

    Function Nlookup(rg, rgs As Range, L As Integer, M As Integer)

    Dim arr1, ARR2, 列数

    Dim R, n, K, X, cc, sr As String

    arr1 = rg.Value

    ARR2 = rgs

    If VBA.IsArray(arr1) Then

    For Each R In arr1

    If R <> "" Then

    cc = cc & R

    列数 = 列数 + 1

    End If

    Next R

    Else

    cc = arr1

    End If

    If M > 0 Then '非查找最后一个

    For X = 1 To UBound(ARR2)

    sr = ""

    If 列数 > 1 Then

    For q = 1 To 列数

    sr = sr & ARR2(X, q)

    Next q

    Else

    sr = ARR2(X, 1)

    End If

    If sr = cc Then

    K = K + 1

    If K = M Then

    Nlookup = ARR2(X, L)

    Exit Function

    End If

    End If

    Next X

    ElseIf M = -1 Then '查找所有值

    For X = 1 To UBound(ARR2)

    sr = ""

    If 列数 > 1 Then

    For q = 1 To 列数

    sr = sr & ARR2(X, q)

    Next q

    Else

    sr = ARR2(X, 1)

    End If

    If sr = cc Then

    Nlookup = Nlookup & "," & ARR2(X, L)

    End If

    Next X

    Nlookup = Right(Nlookup, Len(Nlookup) - 1)

    Exit Function

    Else '查找最后一个

    For X = UBound(ARR2) To 1 Step -1

    sr = ""

    If 列数 > 1 Then

    For q = 1 To 列数

    sr = sr & ARR2(X, q)

    Next q

    Else

    sr = ARR2(X, 1)

    End If

    If sr = cc Then

    Nlookup = ARR2(X, L)

    Exit Function

    End If

    Next X

    End If

    Nlookup = ""

    End Function

    学习完上面的两种查询多个数据的方法,你现在认为哪一种方法更加简单了?当然这个多功能函数还包含有其他的功能,赶快尝试一下吧。

  • ?

    Excel经典函数:Lookup怎么用

    Mortimer

    展开

    转载自百家号作者:解晴说Excel

    都知道Vlookup函数可用于查找数据,非常方便。其实,它是从Lookup函数进化而来的。Lookup函数的用途绝不少于Vlookup,有时候,它还更方便点。

    Lookup入门基本功

    例如,我们知道了供应商编号,想在供应商信息表中找到对应的联系人,那我们就可以用公式“=LOOKUP(A3,A7:A13,C7:C13)”或“=LOOKUP(A3,A7:C13)”查找。

    向量形式的语法:=lookup(找谁,去哪里找,找到后要什么)数组形式的语法:=lookup(找谁,去哪里找)

    向量形式的公式,会在第二个参数指定的范围中查找第一个参数,找到后,返回第三个参数对应的单元格内容。

    数组形式的公式,在第二个参数的第一列或第一行查找第一个参数,找到后返回第二个参数最后一列或一行对应的单元格内容。

    Lookup注意事项

    和vlookup不同,lookup函数默认就支持逆序查找,也就是说查找后可以获得查找数据左侧的结果。

    咦,要查找的“雪碧”的编号不是“A-0011”吗?为什么不对了呢?

    其实,在使用lookup基本的公式前,必须对数据表按照我们要查找的关键字类别进行升序排列,否则,就会得到错误的结果。

    在查找前还要排序?那如果我的表格增加了数据,岂不是每次查找之前都要重新排序,太麻烦了。我不想排序,怎么办?

    Lookup函数进阶

    公式:=LOOKUP(1,0/(B7:B13=A3),A7:A13)

    把公式变成了“=lookup(1,0/(哪里找=找谁),找到后要什么)”这种形式之后,不管原始的数据是什么顺序排列的,都可以得到正确的结果。

    解释:

    公式中的“0/(B7:B13=A3)”经过Excel计算将会得到“{#p/0!;#p/0!;#p/0!;0;#p/0!;#p/0!;#p/0!}”这样的结果,也就是说Excel会将B7:B13中的每一个单元格和A3进行对比,如果不相等,就会得到“#p/0!”;如果相等,就会得到“0”。

    而Lookup函数在查找时会自动忽略“#p/0!”等非法的值,这样就只剩下我们需要的值啦。

    相关阅读:《WPS Excel经典函数:Vlookup怎么用》。

    学习,为了更好的生活。欢迎点赞、评论、关注和点击头像。

  • ?

    excel中有数据为什么vlookup匹配不出来

    踏羁旅

    展开

    Excel中如果通过Vlookup函数查找数值数字,而查找区域相同数字为文本格式,就匹配不到数据,必须转换成同一种格式才行。

    软件版本:Office2007

    举例说明如下:

    1.Vlookup函数匹配不到数据,可以看到D列中的数字是数值,而匹配区域中的数字为文本:

    2.利用分列等方法,把文本数字转换成数值数字:

    3.这样,Vlookup就匹配到数据了:

    (本文内容由百度知道网友鱼木混猪贡献)

  • ?

    match index 轻松解决查找匹配比肩VLOOKUP

    Mariel

    展开

    EXCEL表格只要提到数据查找匹配,VLOOkUP函数通常是我们的第一选择。但其使用过程中也有着诸多限制,比如(通常情况下只能从左向右查询,特殊用法也可以的,详细见:Excel教程——如何快速学习掌握VLOOKUP函数(进阶篇))只能从左往右查询,对数据格式的一致性要求比较高等。那有没有好的方法或者函数来替代VLOOKUP,同时适用性更加广泛呢。

    没错,他就是INDEX+MATCH函数组合。

    很多学Excel的朋友也听说过这个组合,但往往搞不清楚其原理,更别谈来使用了。今天我们就和大家谈谈INDEX+MATCH函数组合究竟如何使用,让大家轻松掌握!

    一、函数认识

    1、MATCH函数:返回指定数值在指定数组区域中的位置

    1、1 名词解释

    基本语法结构:=MATCH(查找值、查找区域、查找类型)

    match函数一共有三个参数,首先我们来看第一个参数lookup_value,含义:需要在数据表(lookup_array)中查找的值。接着我们来看第二个参数lookup_array,含义:可能包含有所要查找数值的连续的单元格区域。第三个参数match_type,含义:排列顺序,一共有三个值,1代表升序排列,0代表任意顺序排列,-1代表降序排列。其中第一个和第二个必选参数,第三个为可选参数,默认为1。通常我们使用的都是精确查找,查找类型参数为0

    1、2 案例详解

    案例1:查找文本字符:查找字母C在所选区域内的顺序

    输入公式=MATCH(B2,$A$2:$A$8,0); 具体操作如下:

    上面查找的是文本内容的单元格,查找区域内没有大小关系,所以一般match函数中一般用精确查找,即最后个参数用0。

    案例2:数值内容查找:如果是数值类查找,同样用match函数的精确查找可以找到排序

    如下图:

    match函数中的0要变化了,因为match函数的查找类型有0,-1,1三种,分别表示精确查找,大于查找,小于查找。看下面的步骤详细解释。

    当用1类型的小于查找时,查找出来的结果是小于4.5的最大值的排序位置,也就是图中的4的位置4。

    当用-1类型的大于查找时,查找的结果是大于4.5的最小值的排序位置,也就是图中的5所在的位置3。大于类型必须要用降序才能查找到结果。

    当用0类型的精确查找时,要查找的值必须包含于查找的区域中,否则是错误结果。

    2、INDEX函数:返回表或区域中的值或对值的引用

    连续区域中index函数的公式格式是=index(array,row_num,column_num) ,其中array表示我们要引用的区域,row_num表示要引用的行数,column_num表示要引用的列数,最终的结果就是引用出区域内行列交叉处的内容。

    基本语法结构:=INDEX(数据区域、行位置、列位置) 最终的结果就是引用出区域内行列交叉处的内容。

    我们现在用一个简单的案例解释一下,如下图:输入公式=INDEX(A2:C7,2,3)

    非连续区域的引用

    输入公式=INDEX((A2:C3,A5:C6),2,3,2), 具体操作如下:

    非连续区域中index函数的公式格式是=index((array_1,array_2,array_3....array_n),row_num,column_num,array_num) ,其中array表示我们要引用的非连续区域,其必须用小括号括起来,row_num表示要引用的行数,column_num表示要引用的列数,array_num表示第几个区域。

    还是以上文中实例看一下index函数的应用。将该区域分成两个区域以表示非连续的区域。

    引用到的是第二个区域A5到C6中第二行第三列交叉处单元格中的内容5,非连续区域与连续区域的不同处是要把分散的区域用小括号括起来,同时在函数括号最后面加入一个array_num表示引用第几个区域。上图基本可以完整解释非连续区域中index函数的使用。

    二、NDEX+MATCH组合应用策略

    基本结构:=INDEX(数据区域,MATCH函数确定的行位置,MATCH函数确定的列位置)

    2.1 反向查找

    【例1】如下图所示,要求根据产品名称,查找编号。

    输入公式=INDEX(A2:A7,MATCH(E3,B2:B7,0))

    2.2 双向查找

    例2:根据姓名和身份证号码,查找具体数值

    输入公式=INDEX($B$2:$F$14,MATCH($H2,$B$2:$B$14,0),MATCH(I$1,$B$1:$F$1,0))

    2.3 根据产品名称和入库时间,查询入库单价

    输入公式=INDEX(C2:C7,MATCH(E4&F4,A2:A7&B2:B7,0))

    由于公式中含有数组运算(一组数同另一组数同时运算),所以公式需要按ctrl+shift+enter三键完成输入。

    点赞,或者收藏,疑惑是分享,都是对我的鼓励!是我坚持每天一更的动力!

    如果关注,抑或是评论交流我将会笑上几分钟,因为被认同!

  • ?

    谁说VLOOKUP函数不能一对多查找?

    凯文

    展开

    在众多查找函数中,VLOOKUP确实称得上扛把子的,但是它也有局限性,这不,一对多查找他似乎就无能为力。WX工纵耗【youxin201606】

    检察院以人民的名义派了三个小组去抓贪官,需要从左面的表格中查找出二组的成员,但是二组对应两个成员,也就是说一次要查找并返回两个值。

    我们知道Vlookup总会以第一个被找到数据作为最终的匹配数据,所以,当有两个”二组“同时存在时,很自然的,它只能默认为匹配首个,也就是说只能返回”高育良“。

    那么,是不是传说中的Vlookup遇到这种情况也只能望洋兴叹,无能为力啊?

    当然不是!

    作为专业从事匹配工作的函数,Vlookup只是需要一些额外的辅助。

    需要注意的是,原生态的Vlookup,用于匹配的数据必须是唯一的,这是由函数的四个参数决定的,改变不了这个事实,所以我们只能从查找匹配的数据源上进行改造。WX工纵耗【youxin201606】

    —01—

    构造辅助列

    虽然一个组别对应多位成员,但是这种对应也是有规律的。比如,第一个“一组”对应“侯亮平”,第二个“一组”对应“陈海”……

    所以,为了实现一对一匹配,需要构建出组别的次序。在C2单元格中输入公式=COUNTIF(A$2:A2,A2),并向下复制填充,可以得出每一个组别的次序。

    然后在B列左侧插入一个新列,并将A列数据和C列数据组合(使用&进行单元格组合),形成新的数据列,如图。

    奇迹出现了,使用新组别这一列数据去查找成员,相当于为每一个组别创造了唯一的识别码,再用Vlookup时,就能精确地一对一匹配到了。

    你看,原以为搞不定一对多排序是VLOOKUP函数的问题,实际是数据源的问题。至此,可得出解决此问题的关键点为:

    ①通过COUNTIF函数,制造出序列(难点是A$2:A2动态引用,这是创造正确编号的核心);

    ②通过&组合组别和次序,制造唯一性。WX工纵耗【youxin201606】

    —02—

    实现VLOOKUP一对多查找

    万事俱备只欠东风,最后一步——Vlookup多条件匹配。

    在G2单元格中写入公式=VLOOKUP(F$2&ROW(A1),B:C,2,0),然后向下复制填充,直到出现#N/A错误,则会返回“二组”对应的所有成员。

    这里使用ROW(A1)函数生成序列,然后再与F2单元格组合,于是就依次生成“二组1”,“二组2”,相当于VLOOKUP函数的第一个参数依次按照“新组别”中的参数出现。

    —03—

    还能怎么玩

    上面的查找方式,将查找的多个结果依次放入不同的行单元格中,这就导致无法批量查找,即无法同时查找“二组”和“三组”的成员,必须分开写公式。WX工纵耗【youxin201606】

    所以,通常情况下,我们会将查找到的多个结果放入不同列中,效果如下图所示。

    稍微对公式进行修改,就能实现这样的效果。

    在G2单元格中写入公式=VLOOKUP($F2&COLUMN(A$1),$B:$C,2,0),并向下拖动填充,然后向右拖动填充,直到每一个组别对应的成员都出现错误值#N/A为止,这说明每一个组别对应的成员都被查找出来了。

    我们将此公式

    =VLOOKUP($F2&COLUMN(A$1),$B:$C,2,0)

    与上文中的公式对比

    =VLOOKUP(F$2&ROW(A1),B:C,2,0)

    首先第一个参数变成了($F2&COLUMN(A$1),这是因为我们需要同时查找“二组”、“三组”、“一组“对应的成员,因此在向下复制时,引用的单元格需要依次变更为F3、F4,所以这里的$F2需要对行需要对行进行相对引用,又因为公式需要向右复制,必须确保引用的一直是F列的数据,所以列为绝对引用。

    同理,我们在列方向进行填充,因此需要是使用COLUMN函数构造序号。WX工纵耗【youxin201606】

    —04—

    屏蔽错误值

    因为我们事先不知道一个组别对应几名成员,所以必须一直向右填充公式,直到出现错误值为止,才算把所有的数值查找完毕。

    为了避免出现错误值,可以使用IFERROR函数进行嵌套。

    将G2单元格中的公式改为

    =IFERROR(VLOOKUP($F2&COLUMN(A$1),$B:$C,2,0),"")

    第一参数就是查找公式,第二参数代表“如果第一参数的运算结果为错误值时所显的自定义的值”。这里,可以设定为"",也就是显示为“空”。

    这样,向右复制到出现空单元格为止即可。

    卧槽,一个VLOOKUP函数都被玩出花了!

    WX工纵耗【youxin201606】

  • ?

    excel中用vlookup快速批量找出你要的数据并返回结果

    平松

    展开

    昨天上班的第一天,居然老板说要我从上万人的相关统计表格中帮他找一下,十几个学生去年的考试成绩,周边的人听到后都幸灾乐祸。我的天啊,上万人中找十几个人。这时有个头脑灵活的说可以用查找,搜索人名啊。结果,老板说:“哦,原来还有这么简单的方法,那改为找指定的100人吧……”。我的天啊,周边的人又大笑起来了。看样了,我第一天就要埋没在这上万人的数据中。为了不让老板加任务,我满脸愁容地对老板说,你给个电子版的名单吧。老板看我愿意做了,真的扔给我,一个有上万人的统计表格,及要查找的一百人的名单。

    我用了一个函数,偷偷把问题解决了,然后轻松了一天,哈哈哈哈

    为了让大家了解vlookup,我们看一个简单的例子,首先,我们有下图左边的数据,包括了9个人的学号、爱好、成绩,数据部分左上角的单元格是a2,右下角的单元格是c10。接着,下图右边是要查找对象的学号,我们在单元格 f4 中输入“=vlookup(e4,$a$2:$c$10,3,0)",回车后就出现结果300。接着向下拉,出现学号108的查找结果800

    上面,vlookup后的括号用了三个逗号,也就是有四部分,其中,e4是要查找的对象; $a$2:$c$10是查找数据所在范围的左上角与右下角,查找范围是a2到c10的那个区域,"$"是绝对引用的意思,通俗点说里面的"$"要为了等一下向下拉动时,保持查找范围不变; 3是返回的内容位于所查找区域的第三列;最后的“0”是表示不要近似值,要求学号要一样才返回结果,如果填1的话,可能查找到学号1010的结果他可能也返回。

    vlookup(查找对象,查找范围左上角到右下角,返回内容位于范围的第几列,是否要相似的值)

    注意:

    1、查找范围建议用$锁定,避免出现拉动时范围变化,

    2、返回内容位于查找范围的第几列,是指查找范围的第几列,千万别是整个表格中的第几列

    vookup可以帮你快速、批量从数据中找出你要的结果,比查找后,一个个记录快且准!!!

  • ?

    两个excel表格核对的6种方法

    幼菱

    展开

    excel表格之间的核对,是每个excel用户都要面对的工作难题,今天ostar带大家一起盘点一下表格核对的方法,一共6种,以后再也不用加班勾数据了。

    一、使用合并计算核对

    excel中有一个大家不常用的功能:合并计算。利用它我们可以快速对比出两个表的差异。

    例:如下图所示有两个表格要对比,一个是库存表,一个是财务软件导出的表。要求对比这两个表同一物品的库存数量是否一致,显示在sheet3表格。

    库存表:

    软件导出表:

    操作方法:

    步骤1:选取sheet3表格的A1单元格,excel2003版里,执行数据菜单(excel2010版 数据选项卡) - 合并计算。在打开的窗口里“函数”选“标准偏差”,如下图所示。

    步骤2:接上一步别关窗口,选取库存表的A2:C10(第1列要包括对比的产品,最后一列是要对比的数量),再点“添加”按钮就会把该区域添加到所有引用位置里.

    步骤3:同上一步再把财务软件表的A2:C10区域添加进来。标签位置:选取“最左列”,如下图所示。

    进行以上步骤后,点确定按钮,会发现sheet3中的差异表已生成,C列为0的表示无差异,非0的行即是我们要查找的异差产品。

    如果你想生成具体的差异数量,可以把其中一个表的数字设置成负数。(添加一辅助列=c2*-1),在合并计算的函数中选取“求和”,即可。另外,此类题目也可以用VLOOKUP函数查找另一个表中相同项目对应的值,然后相减核对。

    二、使用选择性粘贴核对

    当两个格式完全一样的表格进行核对时,可以用选择性粘贴方法,如下图所示,表1和表2是格式完全相同的表格,要求核对两个表格中填的数字是否完全一致。

    今天就看到一同事在手工一行一行的手工对比两个表格。star马上想到的是在一个新表中设置公式,让两个表的数据相减。可是同事核的表,是两个excel文件中表格,设置公式还要修改引用方式,挺麻烦的。

    后来一想,用选择性粘贴不是也可以让两个表格相减吗?于是,复制表1的数据,选取表格中单元格,右键“选择粘贴贴” - “减”。

    进行上面操作后,差异数据即露出原形。

    三、使用sumproduct函数完成多条件核对

    一个同事遇到的多条件核对问题,简化了一下。

    如下图所示,要求核对两表中同一产品同一型号的数量差异,显示在D列。

    公式:

    D10=SUMPRODUCT(($A$2:$A$6=A10)*($B$2:$B$6=B10)*$C$2:$C$6)-C10

    公式简介:

    因为返回的是数字,所以多条件查找可以用sumproduct多条件求和来返回对应的销量。在微信平台回复 sumproduct即可查看该函数的教程。

    使用VLOOKUP函数核对

    star评:本例可以用SUMIFS函数替代sumproduct函数。

    四、使用COUNTIF函数核对

    如果有两个表都有姓名列。怎么对比这两个表的姓名哪些相同,哪些不同呢?其实解决这个问题挺简单的,但还是不断的有同学提问,所以这里有必要再介绍一下方法。

    例,如下图所示,要求对比A列和C列的姓名,在B和D列出哪些是相同的,哪些是不同的。

    分析:在excel里数据的核对一般可以用三个函数countif,vlookup和match函数,后两个函数查找不到会返回错误值,所以countif就成为核对的首选函数。

    公式:B2 =IF(COUNTIF(D:D,A2)>0,"相同","不同")

    D2 =IF(COUNTIF(A:A,D2)>0,"相同","不同")

    公式说明:

    1 countif是计算一个区域内(D:D),根据条件(等于A2的值)计算相同内容的个数,比如A2单元格公式意思是在D列计算“张旺财”的个数。

    2 IF是判断条件(COUNTIF(A:A,D2)>0)是否成立,如果成立就是返回第1个参数的值("相同"),不成立就返回第二个参数的值("不同")

    兰色说:本例是在同一个表,如果不在同一个表,只需要把引用的列换成另一个表的列即可。

    五、使用条件格式核对

    太多的同学在微信上提问如何查找对比两列哪些是重复的,今天兰色介绍一种超简单的方法,不需要用任何公式函数,两步即可完成。

    ----------------操作步骤----------------------

    第1步:把两列复制到同一个工作表中

    第2步:按CTRL键同时选取两列区域,开始 - 条件格式- 突出显示单元格规则 - 重复值。

    设置后效果如下:

    注:1 此方法不适合excel2003版 ,2003版本可以用countif统计个数的方法查找重复。

    2 此方法不适合同一个表中有重复项,可以删除重复项后再两表对比。

    六、使用高级筛选核对

    高级筛选也能核对数据?可能很多同不太相信。其实真的可以。

    回答微信平台一位同学的提问:快速从一份100人的名单中筛选出指定30个人名。

    分析:excel2010版本中我们可以直接选取多个项目,但如果一下子给你30个姓名让你从中挑选出来,估计要很久才能完成筛选。这时我们可以借助高级筛选来快速完成。

    例:如下图所示AB两列为姓名和销量,要求,根据E列提供的姓名从A列筛选出来。

    操作步骤:

    选取AB列数据区域,数据 - 高级筛选 - 打开如下图高级筛选窗口,并进行如下设置。

    A 列表区域为AB列区域。

    B 条件区域为E列姓名区域。注意:一定要有标题,而且标题要和A列标题一样。

    点击确定后,筛选即完成。如下图所示。

  • ?

    Excel vlookup筛选两列的重复项与查找两个表格相同数据

    裘若菱

    展开

    Vlookup函数可用于多种情况查找,筛选重复数据就是其中之一,它既可筛选两列重复的数据又可查找两个表格相同的数据。筛选两列重复数据时,不仅仅是返回一项重复数据,是把所有重复的都标示出来;查找两表格相同数据时,两个表格既可以位于同一Excel文档,又可分别位于两个Excel文档,并且也可以标示出所有重复的数据;当查找两个位于不同Excel文档中的表格相同数据时,查找范围需要写文档名称和工作簿名称,这样Excel才能找到查找区域。以下是vlookup筛选两列的重复项与查找两个表格相同数据的具体操作方法,实例中操作所用版本均为 Excel 2016。

    一、Excel vlookup筛选两列的重复项

    1、假如要筛选出一个表格中两列相同的数据。选中 D1 单元格,把公式 IFERROR(VLOOKUP(B1,A:A,1,0),"") 复制到 D1,按回车,则返回重复数据 6;把鼠标移到 D1 右下角的单元格填充柄上,按住左键并往下拖,在经过的行中,AB两列有重复数据的都返回重复数据,没有的返回空白;操作过程步骤,如图1所示:

    图1

    2、公式说明

    公式 =IFERROR(VLOOKUP(B1,A:A,1,0),"") 由 IFERROR 和 VLOOKUP 两个函数组成。IFERROR 是错误判断函数,用它来判断 VLOOKUP 执行后,如果返回错误,则显示空(即公式中的 "");如果返回正常值,则什么也不返回,直接显示 VLOOKUP 的返回结果。B1 是 VLOOOKUP 的查找值,A:A 是查找区域,1 是返回第一列的值(即 A 列),0 是精确匹配。

    二、Excel vlookup查找两个表格相同数据

    有两张有重复数据的服装销量表(一张在“excel教程.xlsx”中,另一张在“clothingSales.xlsx”中)(见图2),需要把重复记录找出来,这可以用vlookup函数实现,方法如下:

    图2

    1、在两张表后都添加“辅助”列,用于标示有重复记录的行。把“excel教程”中的“辅助”列用自动填充的方法全部填上 1,操作过程步骤,如图3所示:

    2、切换到 clothingSale.xlsx,在 G2 单元格输入 =IFERROR(VLOOKUP(A2,;选择“视图”选项卡,单击“切换窗口”,选择“excel教程”,则切换到“excel教程”窗口,单击左下角 Sheet6,选择“视图”选项卡,单击“切换窗口”,选择 clothingSales.xlsx,切换回“excel教程”窗口,[excel教程.xlsx]Sheet6! 自动填充到了 A2 的后面,公式已经变为 =IFERROR(VLOOKUP(A2,[excel教程.xlsx]Sheet6!,继续输入 $A2:$G10,7,0),""),则完整公式为 =IFERROR(VLOOKUP(A2,[excel教程.xlsx]Sheet6!$A2:$G10,7,0),""),按回车,则返回 1;把鼠标移到单元格填充柄上,往下拖,则查找出所有重复的记录(有 1 的为重复记录),操作过程步骤,如图4所示:

    3、公式说明

    公式 =IFERROR(VLOOKUP(A2,[excel教程.xlsx]Sheet6!$A2:$G10,7,0),"") 也由 IFERROR 和 VLOOKUP 两个函数组成,IFERROR函数的作用跟上文的“vlookup筛选两列的重复项”一样。VLOOKUP函数的查找值是 A2;查找区域是另一个文档(即[excel教程.xlsx]文档的 Sheet6 工作簿)的 $A2:$G10(即查找表格的每一列每一行),$A2 表示绝对引用 A 列,相对引用“行”,即执行公式时,列不变行变,$G10 与 $A2 是一个意思;返回列号为 7;0 表示精确匹配。

    4、注意

    1、当 clothingSales 文档中的第2行与“excle教程”文档中第9行的“编号”相同时,如图5所示:

    图5

    2、尽管两张表格中的第二行不同,则会返回错误的结果(即返回 1),如图6所示:

    图6

    3、这种情况发生在要查找值(即 A2)所在的列(即 A 列)。由此可知,这种方法只适合查找两个表格对应行相同数据。

vlookup两个表格查找相同数据

所有视频需要登录后,才能观看

请先登录您的帐号,即可完整播放,如果您尚未注册帐号,请先点击注册。

img

在线咨询

建站在线咨询

img

微信咨询

扫一扫添加
动力姐姐微信

img
img

TOP