多维表格实战:二维转一维模型全解析

Lv.2潜力创作者
🧩 多维表格实战:二维转一维模型全解析
🔄 从“MPS二维排程”到“一维明细”的智能转换
在传统 Excel 中,我们可以使用 TOCOL 函数轻松实现 二维数据 → 一维列表 的转换。但在多维表格(如 WPS、飞书、Airtable)中,由于其数据库结构限制,没有类似 TOCOL 的内置函数,如何高效实现“二维转一维”?
今天,古老师带你深入解析一个 不写代码、纯靠公式字段建模 的解决方案——适用于 列方向固定数量(如 T+7 排程)的场景。
🔍 一、业务背景:为什么需要二维转一维?
场景 | 说明 |
📅 MPS 主生产计划 | 每个订单按天分配生产数量(T+1 到 T+7) |
🧮 后续计算 | 需要对每天的排程数量进行求和、欠料分析、设备负荷计算 |
📊 可视化展示 | 一维数据更适合用于统计表、图表、联动视图 |
✅ 解决方案:将 每行 × 每列 的二维数据,展开为 一行一条记录 的一维结构。
🧱 二、核心数据结构设计
我们构建两个关键表格:
表格名称 | 角色 | 说明 |
1. MPS 二维 | 🗃️ 输入源 | 存储原始排程数据(行:单号;列:T+1~T+7) |
2. MPS 一维 | 🔄 输出结果 | 动态生成的一维明细表,支持后续分析 |
3. 二维区间 | 📆 辅助表 | 存储 T+1~T+7 对应的具体日期(如 12-29, 12-30…) |
🛠️ 三、建模步骤详解(附图解)
✅ 步骤 1:创建“MPS 二维”表(输入源数据表)
📌 示例数据:
✅ 步骤 2:创建“MPS 一维”表(输出结果)
新建一张表,命名为 “MPS 一维”,用于存储转换后的一维数据。
字段 1:序号(数字)
手动输入 1~10000(可用 =SEQUENCE(10000) 快速生成)
作用:作为循环索引
字段 2:循环(公式)
=MOD([@序号]-1,7)+1
字段 3:分组(公式)
=INT(([@序号]-1)/7)+1
🎯 功能:将序号按 7 行一组分组(每组对应一个订单)
✅ 步骤 3:关联原始数据(单号、线体、名称)
字段 4:单号(公式)
=IFERROR(INDEX('MPS 二维'![单号], [@分组]), "")
✅ 效果:每个订单重复 7 次(对应 7 天)
字段 5:线体(查找引用)
引用来源:MPS 二维 → 线体
查找条件:单号 = 当前行单号
字段 6:名称(查找引用)
引用来源:MPS 二维 → 名称
查找条件:单号 = 当前行单号
✅ 步骤 4:核心转换 —— “排程数量”字段(公式)
这是整个模型的 灵魂字段,通过多次嵌套 XLOOKUP 实现“列→行”的映射。
=--IFNA(
IFNA(
IFNA(
IFNA(
IFNA(
IFNA(
IFNA(
XLOOKUP([@单号]&[@循环], 'MPS 二维'![单号]&1, 'MPS 二维'![T+1]),
XLOOKUP([@单号]&[@循环], 'MPS 二维'![单号]&2, 'MPS 二维'![T+2])
),
XLOOKUP([@单号]&[@循环], 'MPS 二维'![单号]&3, 'MPS 二维'![T+3])
),
XLOOKUP([@单号]&[@循环], 'MPS 二维'![单号]&4, 'MPS 二维'![T+4])
),
XLOOKUP([@单号]&[@循环], 'MPS 二维'![单号]&5, 'MPS 二维'![T+5])
),
XLOOKUP([@单号]&[@循环], 'MPS 二维'![单号]&6, 'MPS 二维'![T+6])
),
XLOOKUP([@单号]&[@循环], 'MPS 二维'![单号]&7, 'MPS 二维'![T+7])
),
0
)[@单号]&[@循环] 构造唯一键(如 "WK-01&1")
XLOOKUP(..., 单号&1, T+1) 在“单号列”中查找匹配项,并返回对应“T+1”值
逐层嵌套,覆盖所有 7 天
-- 强制转换为数字,避免文本格式
IFNA(..., 0) 处理空值
📌 示例:
单号:WK-01,循环:1 → 返回 T+1 的值(300)
单号:WK-01,循环:2 → 返回 T+2 的值(400)
✅ 步骤 5:添加“计划开工时间”字段(查找引用)
字段 7:计划开工时间
字段类型:查找引用
引用来源:二维区间 → T+7 此表为辅助列,提前建好
查找条件:循环 = [@循环]
🎯 四、最终效果展示(模拟数据)
单号 | 线体 | 名称 | 排程数量 | 计划开工时间 |
WK-01 | A | A | 300 | 12-29 |
WK-01 | A | A | 400 | 12-30 |
WK-01 | A | A | 500 | 12-31 |
WK-01 | A | A | 0 | 01-01 |
WK-01 | A | A | 0 | 01-02 |
... | ... | ... | ... | ... |
🧠 五、优化视图:隐藏辅助字段 + 设置筛选
✅ 操作步骤:
隐藏字段:将“序号”、“循环”、“分组”设为隐藏
设置筛选:排程数量 ≠ 0
创建分组视图:按“分组”字段分组
📊 六、应用场景拓展
场景 | 应用方式 |
📈 每日产能统计 | 按“计划开工时间”分组,求和排程数量 |
⚠️ 欠料预警 | 结合 BOM 与库存,判断是否缺料 |
🏭 设备负荷分析 | 按线体+日期汇总,识别瓶颈 |
📊 甘特图制作 | 导出为 Excel,生成可视化排程图 |
🔄 与 ERP 系统对接 | 提供标准一维数据接口 |
💡 七、核心原理总结
技术点 | 说明 |
🔢 MOD + INT 公式组合 | 实现“循环+分组”逻辑,模拟“一行变多行” |
🔗 XLOOKUP 嵌套 | 实现“列→行”的精确映射(最多支持 7 层) |
🧮 字符串拼接 | [@单号]&[@循环] 构造唯一键,提升查找效率 |
📊 辅助表支持 | “二维区间”提供日期映射,增强可读性 |
🧹 筛选 + 分组 | 去除空值、结构化呈现,提升用户体验 |
📦 八、推荐:封装为“二维转一维模板”
为提升复用效率,建议将此模型打包为标准模板:
✅ 模板命名:
✅ 包含内容:
三张标准表结构(MPS 二维、MPS 一维、二维区间)
预设公式字段(循环、分组、排程数量)
默认视图:已配置 筛选(≠0)+ 分组(按分组)
使用说明文档
🎯 九、结语:打破维度壁垒,释放数据价值
通过这套 “二维转一维”模型,我们实现了:
✅ 自动化转换:无需手动复制粘贴
✅ 实时同步:主表更新,一维表自动刷新
✅ 灵活扩展:支持后续统计、分析、报表生成
📱 关注公众号【多维数据实验室】,获取更多制造业数字化实战技巧!
#多维表格 #二维转一维 #MPS排程 #XLOOKUP #数据建模 #智能制造 #PMC
