1.本文说明
今天这个题目是一个真实的数据专员的面试题目,其实完成这个匹配查找能够使用的方法有很多,比如说直接使用Lookup()函数,再比如说使用index()+match()的组合函数。
但是题目中就是说明了:使用数组加分。不要问我为什么使用数组加分,可能人家就是觉得你肯定不会使用数组,人家就会。哈哈,废话不多说,我们来看看这道题应该怎么做吧?
2.本文思路
在讲述思路之前,我们先把本文的最终答案发给大家。会的同志可以跳过这篇文章,不会的同学先自己思考一下,再看看我的解体思路。
=VLOOKUP([@分校],IF({1,0},B:B,A:A),2,0)
1
1)什么是数组?
数组在Excel中是用{ }表示的,如{False,9},数组中的每个元素可以是逻辑值、数字、文本、错误值,不能是公式、日期、单元格引用区域。数组可以是一维的或者二维的。
2)数组中需要清楚的概念
① 逗号分列
② 分号分行
怎么理解逗号分列和分号分行呢?通俗的说:逗号分列指的是在数组中,如果我们用逗号将数字分隔开,他们最终填充的就是每一列。分号分行指的是在数组中,如果我们用分号将数字分隔开,他们最终填充的就是每一行。文字可能不太好理解,下面我给大家录制了一个gif动画,帮助大家理解。
3)使用数组的步骤
可能光看上述的gif动画图,你照着都不一定会操作。因为你不知道使用数组的关键步骤,你也就不知道到怎么完成gif动画中的操作了。
① 数组的使用步骤
Ⅰ 选定填充区域。
Ⅱ 输入数组公式。
Ⅲ 同时按住组合键:ctrl+ shift +enter。
② 以填充区域是1行2列为例 进行文字说明
Ⅰ首先要选中一个1行2列的区域;
Ⅱ 输入数组公式,由于是按列填充,我们数字与数字之间使用的是逗号(,);
Ⅲ 按住组合键ctrl+ shift +enter完成最后的填充操作;
4)一维数组和二位数组
一维数组:我们填充的方向,仅仅是行或者列,这样的数组代表一维数组;
二维数组:我们填充的方向,既包括行,又包括列,这样的数组就代表二维数组;
5)多维数组的使用
多维数组:多维数组指的就是,多维数组与多维数组之间的运算。
对于上表:如果说我们想要完成销售额的计算,应该怎么办呢?
① 如果不使用数组公式
② 如果使用数组公式
6)if函数结合数组的使用
if()函数主要用于逻辑判断,如果是True,返回某个值;如果是False,返回另外一个值。那么if()函数遇见数组又会擦出怎么样子的火花呢?
① if()函数的简单使用
② if()函数结合数组完成列的填充
③ if()函数结合数组完成行的填充
7)if()函数结合数组完成列的替换
从下表可以看出,销售量在姓名的左侧,姓名在销售量的右侧。假如我们想要调换这两列的顺序,应该怎么做呢?
操作如下:
8)if()数组结合vlookup完成逆向匹配查找
从上图可以看出:if()数组操作的结果,就是将姓名和销售量,进行顺序的调换。如果姓名在左侧,销售量在右侧,我们是不是很快可以使用vlookup()函数,完成查找匹配的操作。
操作如下: