多维表格:如何1秒增加1万行

B站影视 韩国电影 2025-09-02 18:35 2

摘要:昨天我们完成了系列文章中第3章的内容,系统构建了MRP运算的需求输入体系:在完成BOM数据准备的基础上,正式引入主需求计划(MDS)作为MRP的驱动源头,创建“销售需求表MDS”并设计了涵盖订单号、产品编码、交期、数量等关键字段的轻量化数据结构,兼顾小微企业的

昨天我们完成了系列文章中第3章的内容,系统构建了MRP运算的需求输入体系:在完成BOM数据准备的基础上,正式引入主需求计划(MDS)作为MRP的驱动源头,创建“销售需求表MDS”并设计了涵盖订单号、产品编码、交期、数量等关键字段的轻量化数据结构,兼顾小微企业的可操作性;在此基础上,进一步搭建“MRP计划产品明细”表,通过复制MDS数据并新增系统编号字段,形成MRP运算的主数据源;最后,利用多维表格的“查找与引用”功能,将“MRP计划产品明细”中的产品编码与“父件对应子件”表中的父件编码进行关联,实现BOM结构的自动匹配与子件信息的动态拉取,为后续完成多层级物料需求展开和齐套分析奠定了坚实的数据联动基础。

新建一张多维表格,命名为:MRP毛需求分解明细

该表的核心功能是基于“MRP计划产品明细”中的每一条主产品需求,结合BOM结构,逐层展开其下所有子件的需求数量。由于多维表格并非专业ERP系统,在处理大规模递归展开时存在性能限制,因此本方案设定最大分解行数为10,000行,以平衡运算效率与业务覆盖范围,适用于中小批量、多品种的生产场景。

在表中新增一个字段,命名为:行号

字段类型:数字

值范围:1 至 10,000,按升序连续填充

该字段作为本表的逻辑主键,用于唯一标识每一行记录,确保数据结构的稳定性与可追溯性。其设计要点如下:

不可删除:防止关键行缺失导致数据错位

不允许新增:固定为10,000行预设结构,避免动态增行带来的引用混乱

唯一性保障:为后续公式引用、视图筛选和跨表关联提供稳定锚点

为支持从“MRP计划产品明细”到“MRP毛需求分解明细”的层级展开,需在“MRP毛需求分解明细”表中创建一个辅助性计算字段,用于标识每一条分解记录所对应的需求来源。该字段将作为后续数据匹配与用量计算的基础。

字段创建:新增一个字段,命名为:编号

字段类型:公式(Formula)

用途:辅助列,用于实现“一父件 → 多子件”的行数映射

由于多维表格不支持动态生成行或递归展开,需通过预设行数与公式计算模拟BOM展开过程。其核心思路是:根据“父件对应子件”表中最大子件数量,为每个父件需求分配足够的行数空间,并通过编号字段将其映射到对应的子件记录。录入公式:

CEILING([@行号]/MAX(父件对应子件![零件数]),1)

公式说明:

[@行号]:当前行的行号值(1 到 10,000)

MAX(父件对应子件![零件数]) :获取所有父件中子件数量的最大值,作为展开上限

[@行号] / MAX(...) :计算当前行所属的“逻辑组”位置

CEILING(..., 1):向上取整,生成连续的整数编号(如1,1,1,…,2,2,2,…),每个编号重复“最大子件数”次

该机制存在一个重要限制,需在系统设计时严格把控:当 待分解的SKU数量 × 最大子件数 > 10,000 时,无法完成完整展开,系统将出现遗漏或报错。

举例:

若“MRP计划产品明细”中有100个SKU,而BOM中最复杂的SKU包含11个子件,则总分解行数需求为 100 × 11 = 11,000 > 10,000,超出预设上限,导致部分数据无法承载。因此,在实际应用中应定期评估业务规模与BOM复杂度,必要时可通过分批处理或多表并行方式扩展容量。

在创建“编号”字段以标识每条分解记录所对应的需求来源后,为进一步实现BOM层级的精确展开,还需引入一个关键辅助字段——序号,用于标记每个父件需求下子件展开的顺序位置。

该字段的作用是:在固定行数框架内,为每个父件对应的子件分配唯一的展开序号(如1, 2, 3, ..., n),其中 n 为该父件所含子件的数量上限(即最大子件数)。通过此序号,系统可准确匹配到对应层级的子件信息,避免错行或重复引用。

字段创建:新增一个字段,命名为:序号

字段类型:公式(Formula)

用途:标识当前行在所属“编号”组内的展开顺序

录入动态数组公式:

MOD([@行号]-1,MAX(父件对应子件![零件数]))+1

公式说明:

[@行号] - 1 :将行号从0开始计数,便于模运算对齐

MAX(父件对应子件![零件数]):获取所有父件中子件数量的最大值,作为循环周期

MOD(...):取模运算,实现“周期性归零”

+ 1:将结果从1开始编号(如1, 2, ..., n)

该序号与“编号”字段共同构成二维定位体系:

编号:指向“哪个父件”

序号:指向“该父件下的第几个子件”

应用价值

支持后续通过 XLOOKUP 函数,精准拉取“父件对应子件”表中按序排列的子件编码、用量、单位等信息

实现“一行变多行”的类ERP展开效果,模拟多级BOM分解过程

为自制件与采购件的差异化处理、层级追溯提供结构支撑

未完待续……

来源:古哥计划一点号

相关推荐