全文约1600 字;
阅读时间:约4分钟;
听完时间:约8分钟;
通过昨天的文章,我们探讨了GROUPBY(GBY)函数的强大功能,尤其是在子件需求汇总、物料使用统计及明细展示中的应用。它通过动态数组公式提高汇总效率,超越了SUMIFS的行数限制;结合LAMBDA、UNIQUE和COUNTA,GROUPBY能有效支持物料管理和生产策略制定;同时,它还能灵活调整显示的明细数目,使数据呈现更清晰。总之,GROUPBY是优化供应链管理和提升工作效率的关键工具。
今天继续分享GBY函数的一些高阶的用法。
汇总客户需求在《生产任务子件用料分析表》中,我们需要汇总客户的总订单需求数量。由于该表中的生产任务包含子件,存在重复项,因此不能采用常规方法直接汇总,否则会导致需求数量因子件的重复行数而被放大数倍。
若使用表格函数来汇总,则需经过多个步骤才能得出正确结果。首先,应使用UNIQUE函数去除生产任务单号的重复项,然后利用XLOOKUP函数来引用对应的订单数量和客户信息。接下来再次对客户信息去重,最后使用SUMIFS函数完成汇总。
在合适的位置录入以下函数:
J2: =UNIQUE(A2:C5005):对任务去重;
M2: =XLOOKUP(J2:J, A2:A5005, H2:H5005):引用任务对应的客户名称;
O2: =UNIQUE(M2#):对M2列中的客户名称去重;
P2: =SUMIFS(L2:L124, M2#, O2#):对每个客户进行订单数量汇总;
R2: =SORT(O2:P17, 2, -1):对客户的汇总订单数量进行降序排序。
以上方法涉及多个函数,并借助了辅助列来满足汇总客户订单数量的需求。
第一次GBY汇总以上函数虽然实现了汇总客户需求的效果,但使用了辅助列并进行了多次函数引用转换。如果不希望使用辅助列,可以使用GROUPBY函数进行聚合,以达到一键公式的目的。为便于理解,这里将函数分步骤说明如下:
在合适的位置录入以下公式:
=GROUPBY(HSTACK(A1:B5005, H1:H5005), C1:C5005, SINGLE, 3, 0)
公式解释:
第一个参数(行字段):HSTACK(A1:B5005, H1:H5005),用函数连接A列(任务单号)、B列(产品代码)和H列(客户),形成一个大的数据区域作为聚合的数据源。第二个参数(值):C1:C5005 列为订单数量,即生产任务对应的订单数量。第三个参数(函数):使用SINGLE 函数,对 X(即产品代码)返回第一列,相当于去重。第四个参数(标头):数字3 表示结果将显示列标题。第五个参数(总计):0 表示不使用总计功能。第二次GBY汇总将第一次GROUPBY汇总的数组区域用LET函数进行定义,并命名为“A”,然后在合适的位置录入以下函数:
=LET(A, GROUPBY(HSTACK(A1:B5005, H1:H5005), C1:C5005, SINGLE, 3, 0), GROUPBY(INDEX(A, , 3), INDEX(A, , 4), SUM, 3, , -2))
公式解释:
第一个参数(行字段):INDEX(A, , 3),使用INDEX函数选择A区域的第3列(客户列)作为聚合的数据源。第二个参数(值):INDEX(A, , 4),使用INDEX函数选择A区域的第4列(订单数量列)作为聚合的值。第三个参数(函数):使用SUM 函数,对每个客户对应的订单数量进行求和。第四个参数(标头):数字3 表示结果将显示列标题。第五个参数(总计):留空表示不使用总计功能。第六个参数(排序顺序):-2 表示对第二列(订单数量)进行降序排序。通过以上函数,我们实现了一个公式对《生产任务用料分析表》中的客户订单数量进行需求汇总,并按客户订单数量大小进行了降序排序。这样的数据呈现,可以让我们快速了解客户的订单信息,便于PMC编制MPS(主生产计划)时做出决策。
今日技巧总结通过这两天的分享,我们深入探讨了GROUPBY(GBY)函数的强大功能及其在供应链管理中的多种应用。从子件需求汇总到物料使用统计,再到明细展示,GROUPBY不仅提高了数据处理的效率,还简化了操作流程。尤其在面对重复项和大规模数据集时,GROUPBY克服了传统SUMIFS函数的局限,提供了更为灵活且高效的解决方案。
我们还介绍了如何利用GROUPBY函数配合其他函数,HSTAK、INDEX以及LET函数,来完成复杂的客户需求汇总任务。通过动态数组公式和多重聚合,实现了无需辅助列的一键式数据汇总与排序。这不仅提升了数据的清晰度,还加强了对生产计划的支持,使得PMC人员可以更快地获取关键信息,进而优化主生产计划(MPS)的制定过程。
掌握这些高级函数的应用,不仅能够帮助我们在日常工作中更有效地管理和分析数据,更能提升整个供应链管理系统的效能,为企业的决策提供强有力的支持。