MAKEARRAY 函数¶
函数概述¶
MAKEARRAY 用于按指定的行数和列数生成一个数组,并通过你提供的 LAMBDA 规则,为数组中的每一个位置计算出对应的值。
它非常适合用来“造数据”、生成矩阵、制作序号表、构建自定义规则的二维结果区等。
你可以把它理解成:
先创建一个 rows × cols 的空矩阵 → 然后对每个单元格传入「行号、列号」→ 按规则算出该格的值。
基础语法¶
参数说明¶
| 参数 | 必填 | 含义 | 典型写法 |
|---|---|---|---|
| rows | 是 | 要生成的行数 | 5、A1、ROWS(A1:A10) |
| cols | 是 | 要生成的列数 | 3、B1、COLUMNS(A1:D1) |
| lambda | 是 | 生成规则(每个位置怎么计算) | LAMBDA(r,c, ...) |
补充说明:
lambda里通常写LAMBDA(r,c, 计算公式)r、c分别代表当前元素的行序号和列序号(从 1 开始)
基础用法示范¶
1)生成全为固定值的数组¶
生成 4 行 3 列,全部填 1:
如果想全部填文本:
2)生成行列序号表¶
每个位置显示“行-列”:
3)生成连续编号表¶
做一个 5×4 的连续编号(1 到 20),按行填充:
如果按列填充(1 到 20),用列优先:
4)生成乘法表矩阵¶
生成 9×9 乘法表:
5)用条件规则生成模式矩阵¶
棋盘格(1/0 交替):
主对角线为 1,其余为 0(单位矩阵风格):
6)结合其他函数生成可读表头¶
做 3 行 4 列的表头样式:第 1 行是“Q1~Q4”,第 1 列是“部门1~部门3”,其余为空:
总结¶
MAKEARRAY 的核心价值在于:用 LAMBDA 把“每个位置怎么填”公式化,从而快速生成任意规则的二维数组。
记住三点就够用:
rows、cols决定大小LAMBDA(r,c, …)决定内容r、c是从 1 开始的行列索引,适合与IF、MOD、算术运算拼规则
如果你常做模板化报表、矩阵运算、练习题数据源构造,MAKEARRAY 会非常省时间。