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

古哥计划
古哥计划 Lv.2 潜力创作者KVP

Lv.2潜力创作者

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

🔄 从“MPS二维排程”到“一维明细”的智能转换

在传统 Excel 中,我们可以使用 TOCOL 函数轻松实现 二维数据 → 一维列表 的转换。但在多维表格(如 WPS、飞书、Airtable)中,由于其数据库结构限制,没有类似 TOCOL 的内置函数,如何高效实现“二维转一维”?

今天,古老师带你深入解析一个 不写代码、纯靠公式字段建模 的解决方案——适用于 列方向固定数量(如 T+7 排程)的场景。

无需脚本,仅用 MOD + INT + XLOOKUP + INDEX 公式组合,即可实现 动态、实时、自动更新 的二维转一维!

🔍 一、业务背景:为什么需要二维转一维?

场景

说明

📅 MPS 主生产计划

每个订单按天分配生产数量(T+1 到 T+7)

🧮 后续计算

需要对每天的排程数量进行求和、欠料分析、设备负荷计算

📊 可视化展示

一维数据更适合用于统计表、图表、联动视图

问题:二维表无法直接用于“按日聚合”或“时间序列分析”。

解决方案:将 每行 × 每列 的二维数据,展开为 一行一条记录 的一维结构。


🧱 二、核心数据结构设计

我们构建两个关键表格:

表格名称

角色

说明

1. MPS 二维

🗃️ 输入源

存储原始排程数据(行:单号;列:T+1~T+7)

2. MPS 一维

🔄 输出结果

动态生成的一维明细表,支持后续分析

3. 二维区间

📆 辅助表

存储 T+1~T+7 对应的具体日期(如 12-29, 12-30…)

设计原则:主表驱动,辅表支撑,结果自动生成

🛠️ 三、建模步骤详解(附图解)

步骤 1:创建“MPS 二维”表(输入源数据表)

📌 示例数据:

支持新增行,但列数固定为 7 天(T+1~T+7)


步骤 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 此表为辅助列,提前建好

  • 查找条件循环 = [@循环]

示例:循环=1 → 返回 12-29;循环=2 → 返回 12-30…


🎯 四、最终效果展示(模拟数据)

单号

线体

名称

排程数量

计划开工时间

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

...

...

...

...

...

每个订单被拆分为 7 条记录,完整保留时间维度信息。

🧠 五、优化视图:隐藏辅助字段 + 设置筛选

操作步骤:

  1. 隐藏字段:将“序号”、“循环”、“分组”设为隐藏

  1. 设置筛选排程数量 ≠ 0

  1. 创建分组视图:按“分组”字段分组

📊 六、应用场景拓展

场景

应用方式

📈 每日产能统计

按“计划开工时间”分组,求和排程数量

⚠️ 欠料预警

结合 BOM 与库存,判断是否缺料

🏭 设备负荷分析

按线体+日期汇总,识别瓶颈

📊 甘特图制作

导出为 Excel,生成可视化排程图

🔄 与 ERP 系统对接

提供标准一维数据接口


💡 七、核心原理总结

技术点

说明

🔢 MOD + INT 公式组合

实现“循环+分组”逻辑,模拟“一行变多行”

🔗 XLOOKUP 嵌套

实现“列→行”的精确映射(最多支持 7 层)

🧮 字符串拼接

[@单号]&[@循环] 构造唯一键,提升查找效率

📊 辅助表支持

“二维区间”提供日期映射,增强可读性

🧹 筛选 + 分组

去除空值、结构化呈现,提升用户体验


📦 八、推荐:封装为“二维转一维模板”

为提升复用效率,建议将此模型打包为标准模板:

模板命名:

“二维转一维模板”

包含内容:

  • 三张标准表结构(MPS 二维、MPS 一维、二维区间)

  • 预设公式字段(循环、分组、排程数量)

  • 默认视图:已配置 筛选(≠0)+ 分组(按分组)

  • 使用说明文档

💡 小贴士:后续只需导入新排程数据,即可自动完成转换!

🎯 九、结语:打破维度壁垒,释放数据价值

通过这套 “二维转一维”模型,我们实现了:

  • 自动化转换:无需手动复制粘贴

  • 实时同步:主表更新,一维表自动刷新

  • 灵活扩展:支持后续统计、分析、报表生成

🔥 掌握这一模型,你就能把“静态的二维表格”变成“动态的一维数据流”,真正实现 智能制造的数据闭环

✍️ 本文由古老师团队整理,图文源自 WPS 多维表格实操界面,未经授权不得转载。
📱 关注公众号【多维数据实验室】,获取更多制造业数字化实战技巧!
#多维表格 #二维转一维 #MPS排程 #XLOOKUP #数据建模 #智能制造 #PMC

广东省
浏览 800
收藏
2
分享
2 +1
1
+1
全部评论 1
 
秋寒
继续来学习
· 广东省
回复