各位Excel建筑师,今天我要介绍一个“矩阵生成器”——MAKEARRAY!它像乐高积木一样,用行号和列号作为坐标轴,让你一键生成任意尺寸的数据宇宙。从考勤表到动态看板,让数据在网格中自由生长!
第1章:MAKEARRAY基础语法
函数骨架
=MAKEARRAY( 行数, -- 矩阵高度 列数, -- 矩阵宽度 LAMBDA(行号,列号, 计算逻辑) -- 核心引擎 )
参数拆解:
行号:当前单元格所在行(从1开始)
列号:当前单元格所在列(从1开始)
计算逻辑:根据行列号动态生成值
经典示例:生成3x3乘法表
=MAKEARRAY(3,3,LAMBDA(r,c, r&"×"&c&"="&r*c))
输出:
第2章:企事业单位实战案例
2.1 简单应用:员工工牌号批量生成
需求:为50名新员工生成6位数工牌号,格式年份+部门+序号
公式:
=MAKEARRAY(50,1, LAMBDA(r,c, A2&B2&TEXT(C2+r-1,"0000") ) )
成品输出:
原理分析:
r-1:从起始序号开始递增
TEXT(...):将数字格式化为4位编号
2.2 中级应用:会议室预约状态矩阵
需求:按小时生成会议室占用状态(8:00-20:00)
公式:
=MAKEARRAY( 2, -- 会议室数量 13, -- 13个时段(8:00-20:00) LAMBDA(r,c, LET( 开始时间, 8 + c -1, 是否占用, AND(开始时间>=--LEFT(INDEX(B2:B3,r),2), 开始时间<--MID(INDEX(B2:B3,r),7,2)), IF(是否占用, "", "") ) ) )
成品输出:
原理分析:
8 + c -1:将列号转换为小时数
INDEX:动态引用不同行数据
--LEFT/MID:解析预约时间范围
2.3 高级应用:动态库存预警矩阵
需求:根据实时库存生成多仓库安全阈值监控表
公式:
=MAKEARRAY( ROWS(A2:A4), -- 仓库数量 3, -- 仓库名/库存/状态 LAMBDA(r,c, SWITCH(c, 1, INDEX(A2:A4,r), 2, INDEX(B2:B4,r), 3, IF(INDEX(B2:B4,r)<INDEX(C2:C4,r), "不足","🟢正常") ) ) )
成品输出:
原理拆解:
SWITCH(c,...):按列号分配显示内容
INDEX:动态引用不同列数据
第3章:MAKEARRAY原理进阶
3.1 矩阵坐标系
可视化模型:
设计思维:把每个单元格视为独立积木,通过行列号定位
3.2 动态扩展特性
案例:根据数据源自动调整矩阵尺寸
=MAKEARRAY( COUNTA(仓库列), -- 自动计算行数 COUNTA(标题行), -- 自动计算列数 LAMBDA(r,c, ...) )
3.3 创建特殊数组
案例:回文数组
=5-ABS(6-MAKEARRAY(9,1,SUM))
输出:
终章:MAKEARRAY生存法则
三大黄金公式:
1️⃣ 序列生成:MAKEARRAY(n,1,LAMBDA(r,c, 起始值+r-1))
2️⃣ 条件矩阵:MAKEARRAY(行,列,LAMBDA(r,c, IF(逻辑判断,结果1,结果2)))
3️⃣ 动态拼接:MAKEARRAY(行,列,LAMBDA(r,c, 字段1&字段2&...))
下期预告:
《UNIQUE函数:Excel数据去重圣手,一键净化脏数据!》
(星标公众号,优先接收Excel黑科技)