Excel 公式学习笔记:数组用法
手写数组
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,"狗屎"))