数组公式在Excel中使用得非常广泛,它主要被嵌套在一些函数当中,能使得公式变得更简洁。越是复杂的公式中越能体现出数组的价值。
数组公式看起来复杂,但是理解它的本质后,就会发现其实不过如此。而且,也会觉得它非常好用。不过这一节可能会相对枯燥,我会尽量用最简单的方式来讲解。如果您觉得暂时不会用到,也希望大家能收藏,以后一定用得到哦。
好了废话不多说,我们进入正题。
什么是数组?
简单来说,就是“一组数”。相对的,普通公式用的就是“一个数”。举个例子来说,在D1单元格中输入:
=B1*C1
这里的“B1”和“C1”都是“一个数”,很好理解。
如果输入:
=B1:B7*C1:C7
B1:B7或者C1:C7,分别就是7个单元格中内容,是7个数,所以它就是一个“数组”。
而公式=B1:B7*C1:C7,就是将这其中同一行的两个数分别相乘。也就是
B1*C1,B2*C2,B3*C3,……,B7*C7
最终的结果也是7个数。假如我将D1单元格中公式改为:
=SUM(B1:B7*C1:C7)
得到的结果就是上面,分别相乘得到的7个数之和。
是不是能对数组有一个简单的认识了~~接下来我们讲讲数组公式的构成。
1、相关定义
数组有维度和尺寸。
这个“维度”跟我们平时说的空间中的维度一样。
一维数组,就是只有一列或者一行的数组,比如:A1:D1(只有一行),B2:B10(只有一列)。
二维数组,我们可以理解为一个矩阵。例如:A1:F8,就是一个8行6列的数组。
而上面提到的几行几列的这个数字,就是数组的尺寸,表示这个数组有多大“范围”。
2、存在形式
常见的数组存在形式有:
常量数组、区域数组、内存数组
常量数组简单来说,就是由直接的数字或其他类型的元素组成,没有单元格引用,直接参与公式的运算。
常量数组的前后要由{},即一对大括号包围起来。
例如:
={1,2,3;"A","B","C";"王",“李","张"}
区域数组更好理解了,就是我们上面的各种单元格引用。
=A1:A100
=H5:H20
=C3: J20
……
内存数组一般是指在公式运算中间产生的,临时的一个数组。这个数组不在最终的结果中显示,但它”曾经存在过“,就存在在内存中。
比如一开始提到的例子:
=SUM(B1:B7*C1:C7)
其中在没有求和以前,B1:B7*C1:C7,这7对分别相乘得到的7个数,组成的这个数组,就是我们所谓的”内存数组“。
因为最终单元格中我们并没有看到这7个数,而是看到他们被SUM函数求和后的结果。
3、数组公式与运算
数组公式与普通公式有几处不同。
首先,普通公式在输完后是按Enter键结束;而数组公式是用Ctrl+Shift+Enter组合键完成输入。
当编辑一个已有的数组公式时,也需要用Ctrl+Shift+Enter来结束,否则将不能返回正确的结果。
结束公式后,Excel会在公式前后加上一对{},即大括号,来表示这是”数组公式“。如下,公式编辑栏中是{=SUM(B1:B7*C1:C7)}
公式外的大括号,为Excel自动添加,不可手动输入,否则Excel将不认为它是一个公式,而当作文本来处理了。
数组公式有单个单元格数组公式和多单元格数组公式。
单个单元格数组公式,就是公式最后的运算结果返回在一个单元格内。
还是用上面求和的例子:
=SUM(B1:B7*C1:C7)
最终得到的求和后是一个值。
如果没有上面求和SUM函数,只有分别相乘的两列:
=B1:B7*C1:C7
得到的7个数,就是一个多单元格数组。
针对多单元格数组,我们在输入公式之前,需要”预判“结果会有几格?我们要先选中所有存储结果的单元格,再输入公式。
输入过程见下图:
4、数组公式的编辑
数组公式的另一个特点,就是:
不能单独修改、删除、移动某一部分单元格。不能再公式区域中插入新的单元格。
如果要修改数组公式,则必须将存储结果的所有单元格一起选中(主要是针对多单元格数组),然后就可以在编辑栏进行编辑,完成后按Ctrl+Shift+Enter结束。
如果不知道这个数组一共有哪些单元格,可以在选中数组公式中任意一个单元格的情况下,点击”查找与选择“-”定位条件“-”当前数组“。
差不多今天就先到这~~
今天没有复杂的例子,主要想让大家以后能在遇到嵌套了数组的公式时能看懂,然后再运用到实际的情况中去。
以后再在别的函数教程中遇到数组,我就不再细讲,就以这一篇为参考吧。
- END -