EXCEL 如何匹配数据?
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
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:向下拖动,得到最终结果。
职场中最常用的两大利器,一个是透视表,另外一个就是匹配函数了。匹配函数有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,如果有疑问,欢迎联系我答疑或者获取案例练习。
假设sheet1中A列为姓名,B列为电话号码;
sheet2中的A列为姓名,D列为电话号码
在sheet2的D1单元格输入=VLOOKUP(A1,Sheet1!A:B,2,FALSE)
然后下拉即可批量自动匹配。。。
EXCEL中无法直接使用SELECT语句进行数据查询、定位、匹配,必须依赖其自身提供的函数。本文将介绍三种EXCEL中的数据自动匹配方法,使单元格内容能够自动引用、填充关联内容,为EXCEL使用者更加快捷的使用数据提供参考。
引言
EXCLE作为一款电子表格软件,提供了直观的界面、出色的数据处理能力和图表工具,再加上成功的市场营销,使其成为最流行的个人计算机数据处理软件。
使用EXCLE作为数据源进行数据处理、统计分析和辅助决策等操作时,经常要使用到数据查询和定位功能。虽然EXCEL可以创建二维表格,但无法像真正的数据库软件一样使用SELECT语句进行数据的查询、定位、匹配以及更新,而EXCEL提供的“查找”功能,只能根据用户提供的关键字进行查找定位或者替换,无法实现数据的自动定位、引用和匹配,这些操作必须借助于EXCEL函数。
自动匹配
定义:在EXCEL的一个单元格区域中,某些单元格的值可以自动引用另一单元格区域中相关单元格的内容。现有两张表表1和表2,表2中A列已填充数据,B列中未填充数据。自动匹配的目的是让表2的B列自动引用表1中B列的关联数据。如表2中的B2单元格内应自动填入“Mike”,B2内应自动填入“Tom”,B3内应自动填入“Marry”⋯⋯
实现方法
(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列的自动匹配。