制作 99 乘法表,用这个 365 函数一下子就能完成
很多同学会觉得 Excel 单个案例讲解有些碎片化,初学者未必能完全理解和掌握。不少同学都希望有一套完整的图文教学,从最基础的概念开始,一步步由简入繁、从入门到精通,系统化地讲解 Excel 的各个知识点。
现在终于有了,以下专栏,从最基础的操作和概念讲起,用生动、有趣的案例带大家逐一掌握 Excel 的操作技巧、快捷键大全、函数公式、数据透视表、图表、打印技巧等……学完全本,你也能成为 Excel 高手。
今天教一个新函数 makearray。
案例 1:生成相同的值
生成一个 5 行 5 列的区域,在每个单元格中显示“*”号。
解决方案 1:
在任意空单元格中输入以下公式 --> 回车:
=MAKEARRAY(5,5,LAMBDA(r,c,"*"))
公式释义:
- MAKEARRAY 函数会通过应用 LAMBDA 函数来返回指定行和列大小的计算数组;
- 语法为 MAKEARRAY(rows, cols,formula)
- rows:数组中的行数,必须大于零;
- cols:数组中的列数,必须大于零;
- formula:可以接受两个参数,即当前的行索引和列索引;所以第三个参数通常用 lambda 函数来处理行和列的索引;
- LAMBDA 的参数 r 表示当前行号(从 1 开始),c 表示列号(从 1 开始);第三个参数是计算式;
- 公式表示生成一个 5 行 5 列的数组,数组中每个元素的值都是“*”。
如果将公式中的 "*" 替换成 9,那么数组中的所有元素都会变成 9。
案例 2:生成行号与列号之和
生成 5 行 4 列的区域,区域中每个单元格的值等于单元格相对于区域的行列号之和。
解决方案 2:
在任意空单元格中输入以下公式 --> 回车:
=MAKEARRAY(5,4,LAMBDA(r,c,r+c))
公式释义:
- 创建一个 5 行 4 列的数组;
- 数组中的每个元素为它在数组区域内的行号和列号之和 r+c。
案例 3:生成乘法表
生成如下所示的 99 乘法表。
解决方案 3:
在任意单元格中输入以下公式:
=MAKEARRAY(9,9,LAMBDA(r,c,IF(r>=c,r*c,"")))
公式释义:
- 生成一个 9 行 9 列的数组区域;
- LAMBDA(r,c,IF(r>=c,r*c,"")):当区域中的行号大于列号时,计算行列号的乘积,否则就返回空值。
案例 4:生成日期序列
生成一列 2025/10/1 至 2025/10/8 的序列。
解决方案 4:
1. 在任意空单元格中输入以下公式:
=MAKEARRAY(8,1,LAMBDA(r,c,"2025/10/1"+r-1))
公式释义:
- 生成一个 8 行 1 列的数组区域;
- LAMBDA(r,c,"2025/10/1"+r-1):区域中的元素为 2025/10/1 依次递加 0 至 r-1,即 7, 天。
2. 将格式调整为日期格式。
案例 5:生成蛇形编号
生成一个 5 行 5 列的蛇形编号区域,奇数行从左向右编号递增,偶数行则从右向左递增。如下图所示。
解决方案 5:
输入以下公式:
=MAKEARRAY(5,5,LAMBDA(r,c,IF(MOD(r,2)=1,(r-1)*5+c,r*5-c+1)))
公式释义:
- 生成 5 行 5 列的区域;
- IF(MOD(r,2)=1,(r-1)*5+c,r*5-c+1):
- 当 MOD(r,2)=1 时,即行数除以 2 的余数为 1,说明行号为奇数,元素值为 (行号 -1)* 列数 5,再加上列号;
- 反之,行号为偶数时,结果为行号* 列数 5,减去列号,再 +1。