数组公式是excel中非常强大的功能,那么它和普通的公式有什么区别呢?最显著的区别之一就是当你在一个单元格中输入公式结束后,如果按下“回车”,那么就代表着你输入的是一个普通公式;而如果你在输入公式结束后按下了“Ctrl-Shift-Enter”,那么就代表你输入了一个数组公式。
另外,如果公式的结果是一个矩阵,那就需要先选中一个空区域,然后直接输入公式,最后的结果才会在这个区域显示出来。
在输入数组公式后,系统还会自动的在公式外面加上一个大括号来作标记(表示这里是一个数组公式):
它有什么用呢?它是为了让单元格行,单元格列,单元格矩阵相互之间的运算更加的便捷(后续会将这些单元格形式统称为矩阵)。如果要在python的世界找一个比喻,那么它就像是一个简化版的numpy。
说了这么多,你一定感兴趣了,它是如何做到的呢?
1, 对同形状的两个矩阵进行“并行化运算”:
如下,在加号的两边都是矩阵,并且两个矩阵的形状相同。在这样的情况下,excel会自动将两个矩阵中相同位置的元素进行运算并写到结果矩阵中的相同位置(就像是线性代数中的矩阵加减法)。
选择结果区域
输入公式
得到结果
2, 对不同形状的两个矩阵,先在幕后将它们扩展为相同形状的矩阵,然后再进行“并行化运算”
这个过程非常类似于numpy中矩阵间运算的广播过程。
在下面这个例子中,左边的矩阵和右边矩阵的行数相同,列数则分别是1和3。这时候excel会自动先将左边的矩阵横向重复三次,得到一个和右边矩阵形状一致的矩阵,然后再对矩阵中每个位置对应的两个元素间进行运算。
输入公式(之前需要先选定结果区域)
得到结果
除了上述向量和矩阵之间的运算,还可以在单元格和向量,单元格和矩阵等多种组合之间进行数据运算。大家可以自行尝试噢~
扩展阅读资料
1,介绍数组运算超级认真且详细的一个博客。
2,微软Excel官方文档中对数组公式的教程。
我用数组公式做了什么事情
在统计学的课上有一些含有多次重复运算的习题,就可以直接用excel的数组公式快速求解啦~相比利用Sas等统计学软件,实用Excel得到结果时候更加有成就感,也更炫酷许多了呢~
下面是作业的截图,大家不妨猜一猜这是哪个统计学实验?
实验用到的原始数据和中间计算数据
部分中间数据的公式展示
|