数组是Excel当中相当重要的万金油公式,它的搭配使用非常灵活,
这要求我们对于二进制,或者布林逻辑有一些了解.
我们举个简单的例子来了解基本的数组原理:
有一份名单需要对比,左侧是到校学生,右侧是学员清单.
我们想在右侧的清单中标记出来到校的学生.
由于这是两个单独的列,所以似乎没有办法使用VLOOKUP去进行匹配标记,
但是你可以使用MATCH+ISNUMBER+IF函数进行判断
- 最里层有MATCH来进行判断,如果存在就会是数字显示右侧表格单元格在左侧表格中的行位.
- 接下来可以使用ISNUMBER函数对MATCH函数进行一个判断,如果是数字为TRUE.
- 放进IF函数中进行TRUE或FALSE的对应判断显示.
如果你对于这些函数不了解,可以私信给我.
最全的Excel课程超链接目录(2020年8月)mp.weixin.qq.com如果你了解这些函数,那么我们来看看利用数组应该如何来解,
- 写上右侧表格的单元格等于左侧表格这一列,这是个数组公式,其表达的含义如下:
你可以选择F9键展开这个公式,发现中间是一组TRUE/FALSE的组合.
意思就是:右侧第一个单元格李宇春和左侧的表格进行一对多的对比,
如果李宇春=李宇春则为TRUE,
如果李宇春=马苏,就为FALSE,以此类推.
你可以看到{}中间的TRUE和FALSE都是有序排列的,
比如第一次,是D3单元格和B3对比,条件成立为TRUE
第二次,D3单元格和B4单元格对比,条件不成立为FALSE
判断的最终结果如你所看的{TRUE;FALSE;FASLE;FASLE……… }
- 将数组公式转换成为数值显示:
之前我们看到的数组判断是这样的:
{TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE}
这样的组合是没有办法进行计算的,
比如:TRUE+FALSE等于什么?
所以需要在数组公式两侧加上括弧,并且在前方加上两个负号
--(D3=$B$3:$B$12)
或者你也可以写成(D3=$B$3:$B$12)*1
其实TRUE代表的是1,FALSE代表的是0,
但是他们没有办法直接进行这样的数值显示,我们需要用上述方式才能得到转化.
于是乎下方的判断组合
{TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE}
就会变成:
{1;0;0;0;0;0;0;0;0;0}
- 在数字的基础上,我们就可以使用SUMPRODUCT函数去解了.
你会发现,输出的结果都是1或者0
{1;0;0;0;0;0;0;0;0;0}之前使用SUMPRODUCT,其意思就是:
把中间的内容进行相加,如果你对于这个函数也不了解,可以私信给我,观看回复信息.
你也可以设想,如果到校的学生判断中,例如韩庚,他没有满足对比组合条件,也就是:
{0;0;0;0;0;0;0;0;0;0}
相加之后依然等于0
最后我们再在前方嵌套一个IF函数进行显示到校字眼或者空值就行了
在函数的应用中,方法包罗万象,没有固定的用法,你需要理解他们的内在含义.
最全的Excel课程超链接目录(2020年8月)mp.weixin.qq.com