excel能否把b表里面的某种数据匹配到a表里去

a表里边需要增加一栏手机号,但是a表姓名栏和b表姓名栏是对不上的,能不能通过姓名这个选项把手机号填充上(难度:a表有名字不一定b表有,a表有重复名字,b表无重复数据)这个问题能否有大佬给解决下,数据量较大且人员姓名比较乱 不适合复制粘贴

    如果只是实现把b表中的手机号根据姓名匹配到a表中对应的人员信息后,可以直接使用

    vlookup函数就可以了。

    B2=VLOOKUP(A2,b!A:B,2,0)

    上面说的难度问题,a表中姓名要比b表多,a里面是包含b的,b表没有重复数据,对于使用vlookup这个函数是没有影响的,如果出现找不到的值,这个公式会返回一个#N/A的报错结果(如张柳)。可以通过iferror做一个返回值判断,如果返回值异常给一个其他的结果,如“没有手机号”。

    =IFERROR(VLOOKUP(A10,b!A:B,2,0),"没有手机号")

    针对a表中的重复数据,比如张一,这个需要确认是不是都要显示(重复姓名都算是同一个人)。如果想重复的只在第一个姓名处显示,下面不显示,可以调整公式如下:

    通过判断对应单元格姓名在A列中出现的次数,来判断要不要显示手机号。

    =IF(COUNTIF($A$2:A2,A2)>1,"",IFERROR(VLOOKUP(A2,b!A:B,2,0),"没有这个手机号"))

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-03-30

如果不考虑姓名有重名的话,就用VLOOKUP函数

在B2中输入:=VLOOKUP(A2,Sheet2!A:B,2,0),回车,然后下拉即可

因为不确定第二张表有多少行,所以公式中一定要引用整个AB两列A:B

如果能确定有多少行,就用绝对引用:

比如

第2个回答  2019-03-30
你这个最方便的就是VLOOKUP函数。其实前边几个的公式都对,但是最短,也是计算最快的公式,可以使用我这个:
在A表B2单元格输入如下公式:
=IFERROR(VLOOKUP(A2,b!A:B,0),"")
然后向下填充或者复制即可。
你的A表有重复,但B表没重复,VLOOKUP适合在信息表里找唯一值。适合使用。有的人没有电话记录,也就是A表里有,但B表里没有,这样的情况,可以使用FIERROR函数来排除搜索不到的错误。当然用IF+ISERROR函数也可以,只是更复杂一些。
解释一下VLOOKUP函数:
在表格数组的首列查找指定的值,并由此返回表格数组当前行中其他列的值。
其格式为:
VLOOKUP(要查找的值,信息表,在信息表的第几列对应数值,精确或者忽略)
要查找的值,对于你这个表来说,就是要查找A表对应的名字,信息表,就是要从B表信息表里查找内容,在信息表的第几列,你要查找首列名字对应的列的电话号码,这个电话号码对于B表首列来说,是第二列,所以填写2, 最后一个参数要填写0 ,填写1的话,可能连近似值也能查找到,所以必须填写0 , 另外,如果结果是非数字格式,填写1的话有可能会返回错误值。
至于IFERROR函数,则是判断一下这个公式,一旦错误,显示成空值。
第3个回答  2019-03-29
确保没有同名,且名字没有输错
在B表的C1单元格中填
=vlookup(B1,A表‘$B$1:$C$999,2,false)
B1是指用来匹配的单元格,也就是你的姓名
A表‘$B$1:$C$999 是指让你选中A表的这一区域(我打出来的和实际显示的可能有点不一样哈,不要按我打的来,选中那个区域就对了),$这个符号是在公式的这一部分按F4就会出现的,表示这一区域是固定的,不会因为你拉格式而变化区域,确保姓名(也就是用来匹配的单元格)在你所选区域的第一列
2 是指你要显示的内容,在你所选区域的第二列
false 是指精确匹配追问

我需要把b表里面的手机号通过名字的对比填充到a表中,你这个我看不懂啊0.0

本回答被网友采纳
第4个回答  2019-03-30
可以。
原理是搜索表2的数据,等于表1前列,若等于则赋予表2第二列的值。
到函数里找。
相似回答