1 概念:数组与数组公式
1.1 数组
- EXCEL本身就支持数组,所以直接用数组相加相乘都是可以的,不需要数组公式也可以生效。
- 比如 =a3:a8+b3:b8 ;=a3:a8*b3:b8
- 这个就是基本的线性代数,行列式等的思想吧
1.2 公式
- 工作表公式
- 数组公式:我现在还不太理解,只能理解这2个特点
- 数组公式的特点就是可以执行多重计算,它返回的是一组数据结果。
- 需要选择一个整体range后,在上面的fx 填整体公式,并且不能单独修改某一个单元格的
- Ctrl + shift +enter
2 区别--比较运算过程
- 数组在EXCEL里是一个经常出现的事物,本身EXCEL的一般公式/表达式 也支持数组的运算,而且必须是按数组的。
- 数组的运算,会根据行列规则,某单元格只显示对应行列运算的结果(其实是只显示数组的第1个数),不显示整体的
2.1 数组公式有几种填法,具体比较
1 选择某个区域后,整体填一个数组公式,将约束这些range
2 在某个单元格填一个公式后,直接输入成数组公式
比如 {=sum(a3:a8*b3*b8)} 和 SUM($A$3:$A$8*$B$3:$B$8)
我比较了下中间结果
(a3:a8*b3*b8) 和 ($A$3:$A$8*$B$3:$B$8) 运算F9都是{1100;1212;1326;1442;1560;1680}
那为什么结果不一样?
直接用公式求值看计算步骤就发现了
{=sum(a3:a8*b3*b8)} 是把这个数组求和了
但是SUM($A$3:$A$8*$B$3:$B$8)的计算步骤是分别取了 100 和 11,得到1100
第2行又是 101*12得到1212
2.2 上述比较的实例
选整体填的数组公式,公式只能整体修改不能单独改 | 一个格的数组公式 | 数组相乘 往下拖公式 | 两两相乘后求和 往下拖 每个单元格都是1个简单工作表公式 | 数组相乘后求和 | 普通公式--工作表公式 | |||
{=a3:a8*b3*b8} | {=sum(a3:a8*b3*b8)} | $A$3:$A$8*$B$3:$B$8 | SUM($A$3:$A$8*$B$3:$B$8) | SUM(A3:A8*B3:B8) | SUMPRODUCT(A3:A8,B3:B8) | |||
100 | 11 | 1100 | 8320 | 1100 | 1100 | 1100 | 8320 | |
101 | 12 | 1212 | 1212 | 1212 | 1212 | |||
102 | 13 | 1326 | 1326 | 1326 | 1326 | |||
103 | 14 | 1442 | 1442 | 1442 | 1442 | |||
104 | 15 | 1560 | 1560 | 1560 | 1560 | |||
105 | 16 | 1680 | 1680 | 1680 | 1680 |