函数1部分学习了文本处理函数和信息反馈函数,2部分学习查找引用函数
1部分链接:EXCEL实战技巧与数据分析(三)函数1 - 数据科学探路者的文章 - 知乎https://zhuanlan.zhihu.com/p/58029602
三、查找引用函数
1.Vlookup函数
VLOOKUP函数是一个纵向查找函数,它与lookup函数和Hlookup函数属于一类函数。例如可以用来核对数据,多个表格之间快速导入数据等函数功能。功能是按列查找,最终返回该列所需查询列序所对应的值;与之对应的HLOOKUP是按行查找的。
语法规则如下: VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
参数说明:
Lookup_value为需要在数据表第一列中进行查找的数值。Lookup_value 可以为数值、引用或文本字符串。当vlookup函数第一参数省略查找值时,表示用0查找。
Table_array为需要在其中查找数据的数据表。使用对区域或区域名称的引用。
col_index_num为table_array 中查找数据的数据列序号。col_index_num 为 1 时,返回 table_array 第一列的数值;col_index_num 为 2 时,返回 table_array 第二列的数值,以此类推。如果 col_index_num 小于1,函数 VLOOKUP 返回错误值 #VALUE!;如果 col_index_num 大于 table_array 的列数,函数 VLOOKUP 返回错误值#REF!。
Range_lookup为一逻辑值,指明函数 VLOOKUP 查找时是精确匹配,还是近似匹配。如果为FALSE或0 ,则返回精确匹配,如果找不到,则返回错误值 #N/A。如果 range_lookup 为TRUE或1,函数 VLOOKUP 将查找近似匹配值,也就是说,如果找不到精确匹配值,则返回小于 lookup_value 的最大数值。如果range_lookup 省略,则默认为模糊匹配。range_lookup 最好是明确指定,默认是模糊匹配!
4种查询方式:
基础单条件查找、反向查找、多条件查询、查询返回多列
(1)单条件查询
总结一下,基础查询公式的用法: =VLOOKUP(用谁找,去哪里找,找到了返回什么,怎么着)
(2)反向查找
反向查找跟普通的VLOOKUP查找存在什么差异,我们都知道检索关键字必须在查找区域的第1列,反向查找的检索关键字不在查找区域的第1列,可以使用虚拟数组公式IF来做一个调换。
总结一下,反向查找的固定公式用法: =VLOOKUP(检索关键字,IF({1,0},检索关键字所在列,查找值所在列),2,0) 注意事项,所有使用了数组的公式,不能直接回车,需要使用Ctrl+Shift+Enter,否则会出错。
(3)多条件查询
在使用VLOOKUP匹配数据的时候,往往条件不是单一的,是由多个一起组成的,那么也可以利用&将字段拼接起来,并且利用IF数组公式构建出一个虚拟的区域。
总结一下,多条件查找的固定公式用法: =VLOOKUP(关键字1&关键字2,IF({1,0},序列1&序列2,查找值所在列),2,0) 为什么是2列,因为if进行数组的合并,关键字列合并为一列,需要查找的列为一列
注意事项:IF的第3个参数只能为1列数据;所有使用了数组的公式,不能直接回车,需要使用Ctrl+Shift+Enter,否则会出错。
(4)查询返回多列
查询返回一列的情况很容易就能完成,如果是返回多列呢?这个时候就要借助另外一个辅助函数——column函数
返回多列的固定公式用法: =VLOOKUP(混合引用关键字,查找范围,COLUMN(xx),0)
=VLOOKUP($G2,$A$1:$E$55,COLUMN(D1),0)
=VLOOKUP($G2,$A$1:$E$55,COLUMN(E1),0)
和基本条件查找不同的是,查找多列,需要变化选择列,所以需要添加column()函数
2.Hlookup函数
作用:在表格中按列查找对应内容。 语法:HLOOKUP(lookup_value, table_array, row_index_num, [range_lookup]),参数和VLOOKUP相对应,第三个参数为行号,VLOOKUP第三个参数为列号。
*match、index、row/column函数
3.match函数
match函数(返回指定内容所在的位置),MATCH(lookup-value,lookup-array,match-type) lookup-value:表示要在区域或数组中查找的值,可以是直接输入的数组或单元格引用。 lookup-array:表示可能包含所要查找的数值的连续单元格区域,应为数组或数组引用。 match-type:表示查找方式,用于指定精确查找(查找区域无序排列)或模糊查找(查找区域升序排列);取值为-1、1、0 ,其中0为精确查找
表达式:MATCH(lookup_value, lookup_array, match_type) 中文表达式:MATCH(查找值, 查找数组, [查找类型])
说明:
A、Match函数用于返回 lookup_value 在数组中的位置;lookup_value 和 lookup_array 是必选项,match_type 是可选项;如果省略 match_type,则默认值为 1。
B、match_type 的取值说明:取 1 表示查找小于或等于查找值 lookup_value 的最大值,返回该值在数组中的位置,要求数组按升序排序;取 0 表示查找等于 lookup_value 的第一个值,返回该值在数组中的位置,不要求数组按升序或降序排序;取 -1 表示查找大于或等于 lookup_value 的最小值,返回该值在数组中的位置,要求数组按降序排序。
C、当 match_type 为 0 且 lookup_value 是文本,可在 lookup_value 中使用通配符“问号 (?) 和星号 (*)”;问号表示任意一个字符,星号表示任意一个或一串字符;如果要查找问号或星号,需要在它们前加转义波形符(~)。
4.INDEX函数(返回指定位置中的内容)
INDEX(array,row-num,column-num), array:要返回值的单元格区域或数组; row-num:行坐标,返回值所在的行号;column-num:列坐标,返回值所在的列号(可选)
index函数,根据二维坐标确定单元格区域的信息
5.row/column函数
ROW函数查询单元格的行号;COLUMN函数查询单元格的列号。