灰度值取值范围_INDEX+MATCH实现VLOOKUP从右向左取值

相信很多甲纯已经会比较熟练的使用VLOOKUP函数,进行数据的查找比对和返回取值了。

但是VLOOKUP函数有一个小缺点就是,查找比对完毕后,只能从左到右进行返回取值。

fbda455cb2f3c5102bdca99403c57699.png

函数定义如此,改是没得改了。

所以每次要解决此类问题,要么要在查找取值区域的最左侧,加入用于查找的特征列:

bd533eefb6bde5863f13062a6640c2e2.gif

要么用映射的方式,把取值区域映射到特征列的右侧:

c05284130cf42554bae5891f69e317e0.gif

操作起来都不是太舒服。

5ebfd3c00d78355499c03ffda0708247.png

下面分别介绍2个函数

【一】MATCH函数

6d2e2f673f33c4638c55c67562619c7c.png

MATCH函数的作用就是“获取偏移量”,最形象的比喻就是:报数!

3728b7ac3249e52b18423d8c5d7b6a86.png

最关键的点是,MATCH函数的报数只能针对单行或者单列,即获取查找值在某一行或者某一列内,相对于该行(列)内第一个单元格(基点)的偏移量。

比如下面几个例子:

93c4d25abc0f4643a8067df7fcae0157.png

注意看公式:

(1)[D9]和[D10]【取值区域】不一样,导致基点不一样,结果也不一样。

(2)[D10]和[D11]分别以行[C:C]和列[5:5]作为【取值区域】。

(3)[D13]之所以错误,是因为MATCH取值区域只支持单行或者单列。

(4)[D13]之所以错误,是因为要查找的值,并不在取值区域内。

c9682c93bcf381c99d5ed1264031d0c4.png

【匹配类型】有三种:-1、0、1:

(1)【匹配类型】:1 或省略,表示MATCH 函数会查找小于或等于【查找值】的最大值。【查找区域】中的值必须按升序排列,例如:...-2, -1, 0, 1, 2, ..., A-Z, FALSE, TRUE。

(2)【匹配类型】:0,表示MATCH 函数会查找等于【查找值】的第一个值。【查找区域】中的值可以按任何顺序排列。

(3)【匹配类型】:-1,表示MATCH 函数会查找大于或等于【查找值】的最小值。【查找区域】中的值必须按降序排列,例如:TRUE, FALSE, Z-A, ...2, 1, 0, -1, -2, ... 等等。

abd587f362da7c5d29a1ec60fceaa945.png

所以-1和1其实都是模糊匹配,因为默认(不填写)匹配类型是1,但通常情况下采取的是精确匹配,所以建议甲纯拟写该函数的时候要写全,匹配类型明确要写上(精确匹配填写0)。

【二】INDEX函数

3653c32774d38957d82ae61cf92ef59a.png

INDEX函数可以通俗的理解成为“偏移取值”函数,就是先指定一个取值区域,基点是取值区域的第一个单元格(最左上格),然后根据指定的行列偏移量,进行偏移取值。

一些例子:

1cddc7fa8a0a904aa8a9ab1cacac773b.png

一些注意点:

1、基点(取值区域最左上的单元格)的偏移量是(1,1),不是(0,0),这个跟坐标系原点不一样,如上面[B9]的取值结果。

2、偏移量必须是正数,不能是0,或者负数。

3、偏移的范围不能超过指定的【取值区域】,如上面[B11]公式出错。因为行、列偏移量(7,7)已经超出了整个【取值区域】

4、取值区域可以设置为单列,此时只需要指定行偏移量。同理可以设置为单行,此时只需要指定列偏移量。如上面[B12]和[B13]的公式。如果取值区域设置为多行多列,则行、列偏移量必须都填写。

【三】INDEX+MATCH函数的组合应用

上述2个函数的作用,一个是“获取偏移量”,一个是“偏移取值”,简直就是天造地设、珠联璧合。

857290d4cb0e1f5ea3ffa39d4c427da8.png

下面说下INDEX+MATCH函数的组合应用

49f9f84c33320ae9b37d92b7eb8bc910.png

举下面实例,

2aaed64f4a7343f3a29747a2dc219462.png

要获取【小猪头】的【ERP号】,但是【ERP号】列在【姓名】列的左边,VLOOKUP函数无法直接使用。

先用MATCH获取查找值在特征列的行偏移量:

b9da491dbf9773c2c733d1dbc2ec7285.png

再使用INDEX在要取值的列上进行偏移取值:

73519a098ede4245ea96d5b9bb5e71fb.png

把函数组合起来,其实跟VLOOKUP函数的作用是一致的,

9ca1599779f54576fc9c4cadff6fbdb1.png

但可以实现VLOOKUP函数无法实现的从右向左取值

如果要再智能一点,那就再加上MATCH函数自动获取INDEX函数想要进行偏移取值的所在行,公式如下:

9ac4a5e50885d57248db7e65b8a37a70.png

操作动图:

7b4d35daa8a9cc782898011cdf17ee4b.gif

怎么样?看着是不是有点绕?!

f87e3b5791d56c37b80aec4ee190ca47.png

好了,下期再见!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值