PMC生产计划群:2025-34周训练题答案分享

B站影视 电影资讯 2025-08-24 16:46 2

摘要:大家好,我是古老师。今天我将发布2025年第33周PMC生产计划群的“每日一练”题目与答案。本次发布的资料包括每日练习题、对应的正确答案以及对相关考点的详细解析,旨在辅助大家的学习,并作为参考资料使用。

大家好,我是古老师。今天我将发布2025年第33周PMC生产计划群的“每日一练”题目与答案。本次发布的资料包括每日练习题、对应的正确答案以及对相关考点的详细解析,旨在辅助大家的学习,并作为参考资料使用。

本周的练习题目的方向为“BOM物料结构变换”专题,包语法糖、聚合函数、自定义函数、数组变形、堆叠等知识点。

公式1:通过检测编号列中是否包含“-”来过滤数据,利用FIND函数查找“-”并结合ISERROR保留不含“-”的行,从而提取主编号,方法简洁高效但依赖于主编号不包含“-”的命名规则。

公式2:尝试通过提取编号前三位并结合UNIQUE去重来获取主编号,但该方法无法确保返回的是原始主编号行,可能返回附属编号行,逻辑存在缺陷,结果不可靠,不推荐使用。

公式3:利用SCAN函数遍历序号列,通过比较当前序号与上一行序号是否变化来识别新主项的开始,从而提取每组首个记录,但依赖序号严格递增且使用易失性OFFSET函数,适用场景有限。

公式4:基于组别与序号的组合键,使用MATCH和INDEX函数查找每个唯一组合首次出现的位置,提取对应的主编号行,不依赖编号命名规则,只要主编号行排在前面即可正确提取,逻辑清晰且稳定。

公式5:采用现代函数BYROW和XLOOKUP,先拼接组别与序号生成唯一键,再查找每个键首次出现的行号,最后用INDEX提取对应行,不仅逻辑严谨、可读性强,而且避免了易失函数,是结构最合理、最推荐的解决方案。

数组公式:

其他答案:

公式一:利用全新的PIVOTBY函数,以父件、项次和用量为行键,通过SCAN生成的组内序号为列键,对子件编号进行透视展开,最后去除标题行,实现高效宽表转换,代码简洁但依赖Beta函数和易失性OFFSET,适合最新版Excel用户。

公式二:通过GROUPBY按父件、项次和用量分组,将每组子件用TEXTJOIN合并为带分隔符的字符串,再用TEXTSPLIT按分隔符拆分为宽表结构,最终与原分组键拼接,逻辑巧妙但依赖特殊字符,存在命名冲突风险,需谨慎使用。

公式三:采用稳定函数构建,先提取唯一父件-项次组合,再用REDUCE逐组筛选并横向拼接各子件,同时通过XLOOKUP获取对应用量,最后合并成完整宽表,虽代码较长但兼容性强、逻辑清晰、不依赖新函数或特殊字符,是生产环境的可靠选择。

数组公式:

其他答案:

公式一:硬编码标题:所有标题字段手动输入,通过 HSTACK 拼接成一行。使用 VSTACK 将标题行与数据体(已去标题的 PIVOTBY 结果)合并。

公式二:利用 COLUMNS(A)-4 动态计算附属列数量用 "替代" & SEQUENCE(,n) 自动生成 "替代1","替代2",...HSTACK 拼接前4个固定标题 + 动态替代标题VSTACK 合并标题与数据

公式三:将标题定义为变量 e,仍为硬编码数组与公式一类似,但结构更清晰(使用 LET 分离逻辑)

公式四:使用 MAX(取列(2))-1 推断最大附属项数量(假设“子件项次”最大值减1即为替代数)生成动态替代标题:"替代" & TRANSPOSE(SEQUENCE(...)),HSTACK 拼接固定 + 动态部分,最终 VSTACK 合并

数组公式:

其他答案:

公式一:使用 FIND("-1", C2:C16) 查找子件编号中是否包含字符串 "-1",ISNUMBER(...) 判断是否找到(FIND 找到返回位置,否则错误)FILTER 保留匹配行。

公式二:使用 TEXTAFTER(C2:C16,"-",,,0) 提取编号中最后一个 "-" 之后的内容判断其是否等于 "1",FILTER 保留匹配行

公式三:使用 SCAN 遍历 B2:B16(子件项次列)当项次变化时重置计数器为 1,否则递增,生成组内序号:每个“父件+项次”组合内的行号(1,2,3...),=2 表示该组合的第二行,即第一个附属件(因主件为第1行)

公式四:A2:A16&B2:B16:生成“父件+项次”组合键,XMATCH(..., ..., 0):查找每个组合首次出现的位置,SEQUENCE(...) - XMATCH(...) + 1:计算当前行在该组合内的相对行号,=2:表示该组合的第二行(即第一个附属件)

公式五:构造一个5列数组 e,前4列为原始数据,第5列为组内累计计数,SUMPRODUCT(...) 计算:在相同“父件+项次”组合中,当前行之前(含)的行数 → 即组内序号,FILTER(e, 第5列=2) 提取组内第2行,DROP(...,,-1) 去掉计数列,返回原始四列

最推荐:公式四;理由:不依赖命名规则、无易失函数、性能好、逻辑清晰,是“基于顺序”的最佳实践

数组公式:

其他答案:

公式一:通过筛选不含“-”的子件识别主子件,利用REDUCE逐个遍历订单产品,结合FILTER和OFFSET动态拼接订单信息与BOM数据,逻辑清晰但依赖易失性函数OFFSET和命名规则,适合结构简单且对性能要求不高的场景。

公式二:基于子件编号不含“-”的特征提取主子件,使用REDUCE累积结果,并通过OFFSET获取订单信息,配合REPTARRAY(或类似逻辑)重复订单行以匹配子件数量,结构合理但存在非标准函数风险,且仍依赖命名规则和易失函数。

公式三:该公式采用 “反向匹配” 思路,先通过XLOOKUP按订单表产品匹配 BOM 表的 “子件项次”,得到每个产品的优先级 1 子件数量Y;再用TOCOL结合SEQUENCE生成 “父件 - 子件位置” 的二维序列(如 A 产品 3 个子件对应 A1、A2、A3),通过XLOOKUP反向匹配该序列对应的订单号、订单数量;接着用REDUCE筛选所有产品的优先级 1 子件,与上述订单信息拼接为基础数据D,最后计算 “订单数量 × 子件用量” 得到毛需求并完成最终拼接。其创新点是用TOCOL生成序列避免多次循环,但TOCOL依赖MAX(Y)易生成冗余数据,且反向匹配逻辑较绕,后续调试和修改难度较高。

公式四:利用XLOOKUP获取每个产品的最大项次作为子件数量,生成序列后通过组合键(父件&项次)精确匹配主子件信息,避免了OFFSET,逻辑较严谨,但依赖项次连续且从1开始的假设,灵活性受限。

公式五:以“优先级=1”精准筛选主子件,通过MAP统计每产品子件数,SCAN生成累计偏移,MATCH定位分组,SEQUENCE驱动展开,最后用MAP+FILTER动态提取子件与用量,逻辑严密、不依赖命名、性能优良,是可扩展的生产级解决方案。

数组公式:

其他答案:

本周围绕“BOM(Bill of Materials,物料清单)结构变换”这一核心业务场景,系统性地讲解了Excel中处理层级化、结构化数据的多种高级技术,涵盖条件筛选、数组变形、堆叠展开、标题动态生成、需求计算等关键环节,全面覆盖了现代Excel函数的核心知识点。

核心知识点回顾

语法糖与函数组合技巧

熟练运用 LET 函数进行变量定义,提升公式可读性与执行效率。

使用 LAMBDA 自定义逻辑单元,增强 REDUCE、SCAN、MAP 等高阶函数的表达能力。

掌握 HSTACK、VSTACK、DROP、TAKE 等数组拼接与裁剪函数,实现灵活的数据重组。

聚合与分组逻辑

PIVOTBY 与 GROUPBY 实现分组聚合与宽表转换,理解其在Beta阶段的适用边界。

利用 SCAN、MATCH、XMATCH 构建组内序号或累计偏移,替代传统循环思维。

通过 FILTER + 条件判断实现精准数据提取,避免冗余遍历。

数组变形与动态结构

使用 SEQUENCE 驱动行展开,结合 TOCOL、TOROW 实现维度转换。

掌握 MAKEARRAY、REDUCE + VSTACK 模式,构建复杂嵌套逻辑。

理解“组键+位置”匹配模式,实现跨表精确关联。

标题动态生成策略

区分“硬编码”与“动态生成”标题的优劣,推荐使用 COLUMNS + SEQUENCE 自适应列数。

避免基于输入特征(如 MAX(项次)-1)推断输出结构,防止逻辑错位。

性能与稳定性权衡

警惕 OFFSET 等易失函数带来的性能瓶颈,优先使用 INDEX、XMATCH 等稳定替代方案。

避免 SUMPRODUCT 在 MAKEARRAY 中的嵌套使用,防止 O(n²) 复杂度。

通过本次训练,大家不仅掌握了语法糖与数组操作技巧,更建立了“先结构化、再分析”的数据思维。这些方法可直接应用于生产报表清洗、跨周期数据汇总、系统对接前的数据预处理等实际场景,显著提升工作效率与准确性。建议大家反复练习,灵活组合函数,逐步实现从手工整理到自动化处理的跃迁。同时,欢迎大家加入古哥PMC专业群,与更多的同行一起交流经验、共同学习、进步和成长。感谢大家的积极参与和支持!

来源:古哥计划一点号

相关推荐