Excel_index函数
index()函数和match()函数的混合双打
=index(基础数据库!$B$2:$B$3000,match(B3,基础数据库!$A$2:$A$3000,0))
要想看懂上面的函数如何使用首先搞懂以下两个函数的具体含义。
index函数的使用
index(搜索范围,位置参数)函数是在指定范围内搜索元素,使用方法如下:
1.二维表格中使用
index(A1:B2,1,1)
含义:在A1到B2表格构成的二维表格中搜索第一行第一列的元素
后面的两个参数 1 1 表示需要寻找的二维表格中的位置元素
如图所示,该二维表格的范围即为蓝色方框所示,结果返回值为该蓝色方框的一行一列,即“赵一”
2.一维表格(行)中使用
index(A1:B1,2)
含义:在A1到B1表格构成的一维表格中搜索第二个元素
如图所示,该一维表格(行)的范围即为蓝色方框所示,结果返回值为该蓝色方框的第二个元素,即“1”
3.一维表格(列)中使用
index(A1:A10,6)
含义:在A1到A10表格构成的一维表格中搜索第6个元素
如图所示,该一维表格(列)的范围即为蓝色方框所示,结果返回值为该蓝色方框的第6个元素,即“吴六”
4. 正确使用index()函数
如果在构造的二维表格中仅使用一个参数会报错
错误使用 index(A1:B2,1) // error!
正确使用 index(A1:B2,1,1) // correct!
在构造的一维表格中使用两个位置参数也会报错
正确使用 index(A1:A10,6) // correct!
错误使用 index(A1:A10,1,1) // error!
match()函数的使用
1. 各个参数的含义
=MATCH(查找值,查找区域,匹配类型)
当匹配类型为0时,表示精确查找,函数返回该值所在区域中的位置
当匹配类型为1时,表示升序查找,查找小于或等于查找值的最大值并返回其所在位置。要求数据必须升序排列。
当匹配类型为-1时,表示降序查找,查找大于或等于查找值的最小值并返回其所在位置。要求数据必须降序排列。
2. 精确查找使用方法
=MATCH(C1,B1:B10,0)
含义:在B1到B10表格构成的一维表格中搜索值为C1中元素的位置
如图所示,该一维表格(列)的范围即为红色方框所示,搜索C1中元素即为蓝色方框所示,结果返回值为数值6在红色方框中的位置,即“5”
index()函数和match()函数结合使用
=INDEX(A1:A10,MATCH(C1,B1:B10,0))
含义:在A1到A10表格构成的一维表格中搜索序列为match()函数返回值的位置元素
如图所示 1. match()函数在B1到B10表格匹配值为C1位置的元素,并返回位置序列,即“5”
2. index()函数在A1到A10表格中搜索序列为match()函数返回值的位置元素,A1到A10表格中第5个元素为“周五”,则复合函数最后返回值为“周五”
说明
再回顾开头看到的复合函数的嵌套使用
=index(基础数据库!$B$2:$B$3000,match(B3,基础数据库!$A$2:$A$3000,0))
含义:在基础数据库!$B$2:$B$3000一维表格中搜索序列值为match()函数返回值的元素,
match()函数在基础数据库!$A$2:$A$3000一维表格中精确匹配值为B3的元素,并返回其在基础数据库!$A$2:$A$3000的位置。
值得注意的是,match()函数返回的是所匹配区域的位置,所以,index()函数索引区域和match()匹配区域应一一对应!