手写数组
F9
F9 可以将数组公式转为数组字面量
一维数组
={1,2,3,4,5} 数组在单元格内默认只显示第一个格子。 Ctrl + Shift + 回车 输入为数组公式,可以正常显示。 如下数组3行5列 ,应用数组公式时,多出的格子内结果为#N/A
1维代表行(分隔符, ),2维代表列(分隔符; ) {1,2,3,4,5;6,7,8,9,10;11,12,13,14,15} 用INDEX 取个值试试: =INDEX({1,2,3,4,5;6,7,8,9,10;11,12,13,14,15},2,3,1) 结果 8
数组计算规则
1. 两个数组行列长度完全一样
两个数组中n行n列 对应的两格子进行计算。结果数组大小与原数组相同。
2. 两个数组行列长度不同
两个数组行列长度不同(对不齐)的情况,先扩展补齐成两个长宽都一样的数组,再计算。如下图所示:
3. 原数组非单行/单列的
多行或多列的数组无法自动扩展,以适配对方。所以原数组行列的最大值,决定了结果数组的行列。 缺失部分结果为#N/A 。可以用IFNA 函数补救一下:如果为#N/A 就显示666
数组拼接
一维数组
拼接 B1:H1&B2:H2 两个区域可以得到如下区域内容。 借助 index 函数看下效果得到:A3009
多维数组
注意结果行 和列 的关系。原数组行列的最大值,决定了结果数组的行列。 再这样看看,更明显点。
动态拼接
=CHOOSE({1,2,3,4},A1:A6&B1:B6,C1:C6,D1:D6,E1:E6) 利用条件{1,2,3,4} 得到个拼接数组。
拼接探索
再来看个好玩的。拼接A1:H4 的内容。遇到#N/A 用狗屎 代替。 =TEXTJOIN(",",1,IFERROR(A1:H4,"狗屎"))
参考资料
三分钟彻底理解Excel数组运算原理
|