1 Lookup的使用
官网上的定义如下:
当您需要查询一行或一列并查找另一行或列中的相同位置的值时,会使用其中一个查找和引用函数 LOOKUP。
总的来说Lookup函数是完成筛选匹配,又可以分为数字和字符串两种:
- 对于字符串来说,就可以简单的当作一个映射,规定一个映射,通过loopup可以找到已知值对应的映射,最直接的例子是ID和Name的一个映射,在下面例子中将会有具体体现
- 对于数字来说,不单单是标准的单一映射,这里则变成了一个范围,设定数字对应的映射对大于设定数字的所有值都是有效的,除非数值达到了另一个映射的范围,同样在下面的例子中也有具体说明
下面用几个例子可以较为清楚的显示对应的作用
-
设定分数段对应的等级,匹配一列分数所对应的等级
可以发现Lookup匹配的值是下限,也就是说0-60的分数统统映射为不及格;60-80的分数统统映射为及格;80-90的分数统统映射为良好;90-100的分数统统映射为优秀
-
查找对应工件的库存量
这里是将工件编号和其库存做了一个简单的映射
-
找到工件ID对应的Name
同样是将工件编号的名称做了一个简单的映射
2 VLOOKUP的使用
VLOOKUP(lookup_value,table_array,col_index_num , range_lookup)
VLOOKUP (你想要查找的内容,要查找的位置,包含要返回的值的区域中的列号,返回近似或精确匹配-表示为 1/TRUE 或 0/假)
用一个例子来理解VLOOKUP中四个参数的含义,如下图:
第一个参数表示待查找的内容,第二个参数表示查找的范围,这两个参数都较容易理解,主要看看三四两个参数,再看下面两个结果:
可以发现,第三个参数似乎是代表查找范围中的第几列,参数为1时,匹配的是查找范围中的第一列,参数为2时,匹配的是查找范围中的第二列,参数为3时,返回REF!,因为查找的只有两列,为了验证,后面增加一列
猜测似乎得到了验证,这里第四个参数的取值只有1/2,其中1表示精确匹配,2表示模糊匹配,是函数内置的设定
下面还有一个问题也需要注意,从下图可以看出,由数字来匹配地区是不能实现的,因为查找的内容一定要在查找区域的最左列
更多可参考Vlookup详解
3 HLOOKUP的使用
vlookup是垂直方向的判断,如果是水平方向的判断可使用Hlookup函数
4 Index Match函数的使用
先看一下Index函数的定义:
index(array,row_num,column_num)
返回一个区域中找出想要的行与列对应的单元格的值
第一个参数array表示我们要引用的数据区域,第二个参数row_num表示要引用的行数,第三个参数column_num表示要引用的列数。
再来看一下Match函数的定义:
MATCH(lookup_value, lookup_array, match_type)
第一个参数查找的内容,第二个参数数据区域,第三个参数查询的方式(精确查找/模糊查找)
MATCH 返回匹配值在 lookup_array中的位置,而非其值本身
5 Match和vlookup的使用
下面说一个match和vlookup组合使用的简单例子,来实现值的查询
原始数据为:
地区 | 总金额 | 成交单数 |
---|---|---|
上海 | 81927 | 1234 |
北京 | 291941 | 2031 |
深圳 | 121913 | 5768 |
- 使用数据校验
-
写公式
match可以返回查找数据为第几列,而第几列是vlookup的输入参数
-
完成