EXCEL 如何匹配数据?

sheet1中有姓名和电话号码,sheet2中有姓名、地址、身份证号,但是没有电话号码。(姓名相同,但可能顺序不同)。由于数据庞大,一个个输入太浪费时间,想问大神,有没有... sheet1中有姓名和电话号码,sheet2中有姓名、地址、身份证号,但是没有电话号码。(姓名相同,但可能顺序不同)。由于数据庞大,一个个输入太浪费时间,想问大神,有没有办法自动匹配上去? 展开
 我来答
apple89591856
2015-06-09 · 知道合伙人互联网行家
apple89591856
知道合伙人互联网行家
采纳数:1322 获赞数:5511
飞鸿世家库存推广团队领队人

向TA提问 私信TA
展开全部

excel部分匹配:

首先看一下原始数据,A列是一些公司全名,在B1处输入一个简称或者说关键字(必须是在A列某个文本中连续包含的关键字),要在C1返回A列对应的全称。

双击C1单元格,输入公式

=VLOOKUP("*"&B1&"*",A1:A7,1,)

回车后C1单元格就返回了B1对应的A列公司全称。

VLOOKUP通配符方法介绍:

=VLOOKUP("*"&B1&"*",A1:A7,1,)代表的含义是在A1:A7的范围内查找包含B1关键字的单元格,找到后返回A1:A7第一列的内容。函数中的“*”代表任意字符,也就是说在A1:A7内查找B1文本前后任意字符的内容,也就是包含B1文本的意思。其中的1代表返回A1:A7数据区域第一列结果,最后一个逗号后省略参数代表的是精确匹配,也可以输入0或FALSE。

本例也可以用LOOKUP函数完成。

双击C1单元格,输入公式=LOOKUP(1,0/FIND(B1,A1:A7),A1:A7)即可。

我们来看一下LOOKUP运算过程。

首先FIND(B1,A1:A7)表示在A1:A7内查找B1内容,如果查找不到则返回错误值,如果查到返回在文本中的位置。

0/FIND(B1,A1:A7)这部分让上一步返回的值参与运算,如果上一步返回的是数字,结果就返回0否则仍返回错误值。

最后LOOKUP(1,0/(数组),A1:A7)部分返回“数组”中最后一个小于等于1(也就是“数组”中的0)的值对应的A1:A7的内容,也就是全称。


注意:=VLOOKUP("*"&B1&"*",A1:A7,1,)代表的含义是在A1:A7的范围内查找包含B1关键字的单元格,找到后返回A1:A7第一列的内容。函数中的“*”代表任意字符,也就是说在A1:A7内查找B1文本前后任意字符的内容,也就是包含B1文本的意思。其中的1代表返回A1:A7数据区域第一列结果,最后一个逗号后省略参数代表的是精确匹配,也可以输入0或FALSE

强尼说
2020-09-19 · TA获得超过150个赞
知道答主
回答量:107
采纳率:0%
帮助的人:8.8万
展开全部

Excel作为微软老大哥的必杀器之一,有两大功能最让人叹服:数据透视表以及灵活的函数。而在函数功能中,职场使用排行榜第一的函数就是Vlookup函数,就是这个函数,就可以轻轻松松地帮助你解决数据匹配的问题。解释Vlookup函数可以从三个方面入手:

1)适用场景

Vlookup主要应用场景,就是实现单元格的对象匹配。

2)函数用法

Vlookup函数的官方参数构成:VLOOKUP(lookup_value,table_array_col_index_num,range_lookup)。

第一个参数含义:需要查找的值是谁?

第二个参数含义:要在哪个区域进行查找?

第三个参数含义:返回值位于查找区域的列号是?

第四个参数含义:精确匹配还是模糊匹配?其中,0代表精确匹配,1代表模糊匹配。

3)实战教学

如图,表1和表2是需要关联的两张表,现在需要将表2中的状态列匹配到表1中。

操作1:首先对表1添加状态列。

操作2:开始使用Vlookup函数。

这里解释一下函数:

VLOOKUP(B2,$G:$H,2,0)

第一个参数含义:我要查找的数是B2。

第二个参数含义:我想要在G列和H列中查找。

第三个参数含义:从查找区域的第二列进行查询。

第四个参数含义:精确匹配。

另外需要注意的是,Vlookup查找时,查找值要在查找区域的第一列中可以找到。

操作3:向下拖动,得到最终结果。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
跟路飞学excel
2020-09-19 · 超过11用户采纳过TA的回答
知道答主
回答量:85
采纳率:0%
帮助的人:7.7万
展开全部

职场中最常用的两大利器,一个是透视表,另外一个就是匹配函数了。匹配函数有vlookup、match、index。最常用的是vlookup。

(1)vlookup函数

语法是VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)。

Lookup_value是要查找的值。

Table_array是要在哪个区域找。

col_index_num返回数据在查找区域的第几列数。

Range_lookup是模糊匹配/精确匹配。0就是精确匹配,1就是模糊匹配。

如下图,要查找I列这几个歌手的籍贯,要在A:G这个范围内查找。公式是=VLOOKUP(I:I,A:G,3,0)。I列在A:G范围内查找籍贯,籍贯在A:G里是第3列。

(2)空格匹配不了

如果输入公式后,结果显示N#A,那就要排查问题。你在查找范围里面的内容可能有空格,这样就导致匹配不了。而且空格是肉眼看不出来的。U列和I列看起来一样,但是匹配不出结果。检查发现I列字段比U列更长。用Ctrl+F查找发现I列多了一个空格。I列进行分列去掉空格,成功匹配。如果你想了解更多关于空格处理的方法,可以看这个链接我的回答https://know.baidu.com/wenda/question/info?qid=4cb3382d1ad5582cb7ef38a69102865911cd4fa

(3)文本匹配不了

如果输入公式后,结果显示N#A,那就要排查问题。你要查找的内容和在查找范围里面的内容格式不同,一个文本一个数值,这样就导致匹配不了。改变格式才能匹配出结果。AG列和Z列有什么不同吗?Z列每个单元格左上角有个绿色三角形,就是文本格式。而AG列是数值格式。所以无法匹配。

跟路飞学excel,如果有疑问,欢迎联系我答疑或者获取案例练习。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
真水无香911
推荐于2017-12-15 · 专注EXCEL、品质管理、ISO体系
真水无香911
采纳数:227 获赞数:1857

向TA提问 私信TA
展开全部
用VLOOKUP函数吧。。。
假设sheet1中A列为姓名,B列为电话号码;
sheet2中的A列为姓名,D列为电话号码

在sheet2的D1单元格输入=VLOOKUP(A1,Sheet1!A:B,2,FALSE)
然后下拉即可批量自动匹配。。。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2018-03-29 · TA获得超过6.4万个赞
知道大有可为答主
回答量:20
采纳率:100%
帮助的人:1.2万
展开全部

EXCEL中无法直接使用SELECT语句进行数据查询、定位、匹配,必须依赖其自身提供的函数。本文将介绍三种EXCEL中的数据自动匹配方法,使单元格内容能够自动引用、填充关联内容,为EXCEL使用者更加快捷的使用数据提供参考。

  1. 引言

    EXCLE作为一款电子表格软件,提供了直观的界面、出色的数据处理能力和图表工具,再加上成功的市场营销,使其成为最流行的个人计算机数据处理软件。

    使用EXCLE作为数据源进行数据处理、统计分析和辅助决策等操作时,经常要使用到数据查询和定位功能。虽然EXCEL可以创建二维表格,但无法像真正的数据库软件一样使用SELECT语句进行数据的查询、定位、匹配以及更新,而EXCEL提供的“查找”功能,只能根据用户提供的关键字进行查找定位或者替换,无法实现数据的自动定位、引用和匹配,这些操作必须借助于EXCEL函数。

  2. 自动匹配

    定义:在EXCEL的一个单元格区域中,某些单元格的值可以自动引用另一单元格区域中相关单元格的内容。现有两张表表1和表2,表2中A列已填充数据,B列中未填充数据。自动匹配的目的是让表2的B列自动引用表1中B列的关联数据。如表2中的B2单元格内应自动填入“Mike”,B2内应自动填入“Tom”,B3内应自动填入“Marry”⋯⋯

  3. 实现方法

    (1)LOOKUP函数

    定义:LOOKUP函数可从单行或单列区域或者从一个数组返回值。它的语法格式如下:LOOKUP(lookup_value,lookup_vector,[result_vector])

    其中,lookup_value为搜索值,lookup_vector为只包含一行或一列的搜索区域,result_vector为只包含一行或一列的返回区域。

    使用方法:

    使用LOOKUP函数实现自动匹配,只需在表2的B1单元格中输入:

    =LOOKUP(A1,表1!$A$1:$A$3,表1!$B$1:$B$3)。由于引用的单元格区域是固定不变的,其引用地址要使用绝对地址,输入完毕后拖动单元格右下角至B3,完成表2中 B列的自动匹配。

    (2)VLOOKUP函数

    定义:VLOOKUP函数搜索某个单元格区域的第一列,然后返回该区域相同行上任何单元格中的值。

    它的语法格式如下:VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])

    其中,lookup_value为要在表格或区域的第一列中搜索的值,table_array为包含数据的单元格区域,col_index_n u m 为t a b l e _ a r r a y 参数中必须返回的匹配值的列号,range_lookup为一个逻辑值,指定VLOOKUP查找精确匹配值(true)还是近似匹配值(false)。

    使用方法:

    使用VLOOKUP函数实现自动匹配,只需在表2的B1单元格中输入:

    =VLOOKUP(A1,表1!$A$1:$B$3,2,TRUE)。单元格区域的引用要使用绝对地址,输入完毕后拖动单元格右下角至B3,完成表2中B列的自动匹配。如果待定位的数据排列是横向的,应使用HLOOKUP函数,其使用方法和VLOOKUP函数类似,故不再赘述。

    (3)INDEX和MATCH函数

    INDEX函数定义:返回表格或区域中的值或值的引用。

    它的语法格式如下:INDEX(array, row_num, [column_num])

    其中,Array为单元格区域或数组常量,Row_num为区域或数组中的某行,函数从该行返回数值,Column_num为区域或数组中的某列,函数从该列返回数值。

    MATCH函数定义:在单元格区域中搜索指定项,然后返回该项在单元格区域中的相对位置。

    它的语法格式如下:MATCH(lookup_value, lookup_array, [match_type])

    其中,lookup_value为需要在lookup_array中查找的值,lookup_array为要搜索的单元格区域,match_type为匹配选项,当值为1或省略时返回小于或等于lookup_value的最大值,当值为0时返回等于lookup_value的第一个值,当值为-1时返回大于或等于lookup_value的最小值。

    使用方法

    使用INDEX和MATCH函数实现自动匹配,只需在表2的B1单元格中输入:

    = INDEX ( 表1 ! $ A $ 1 : $ B $ 3 , MATCH ( A 1 , 表1!$A$1:$A$3,0),2)。

    其中第二个参数“ MATCH ( A 1 , 表1 ! $ A $ 1 : $ A $ 3 , 0 ) ”函数返回A 1 的值在表1 A 列中的相对位置, 第三个参数“2”表示单元格区域“!$A$1:$B$3”中的第2列即B列。INDEX函数根据MATCH函数指示的位置返回该行中B列的值。单元格区域的引用要使用绝对地址,输入完毕后拖动单元格右下角至B3,完成表2中B列的自动匹配。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(13)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式