上周六,在关于MRP原理的直播课程期间,我们已正式启动了表格版本MRP的制作工作,并在过程中详细讲解了一些必备的表格操作技能。为了辅助大家更好地消化吸收所学内容,课程结束后,我们特意安排了5道练习题目供大家进行实战操练。而今天,古老师发布了这5道题目的参考答案,以供各位学员参考借鉴。
第1题:单条件汇总
要求:在填充颜色区域录入公式,汇总料号的数量
难点:源数据中料号和数量这两列的数据是文本型数据,在边上用=TYPE(D3),返回2,代表文本类型,而料号F3这里是数字,所以直接用SUMIFS 会汇总不出结果的。
答案1:
可以提前把源数据中的料号和数量通过操作法(选中→分列→完成)来转换转换成数值,转换完成后录入公式=SUMIFS(D:D,C:C,F3),后向下填充:
答案2:
不改变源数据的方法是通过筛选函数来筛选,条件F3因为是数字,所以用CONCAT来转换成文本,这样就筛选到对应30025的数量,而数量也是文本,通过减负运算来转换成数值,最后嵌套SUM函数求和。
录入公式:
=SUM(–FILTER($D$3:$D$15,$C$3:$C$15=CONCAT(F3)))
参考效果如下图1:

图 1
第1题的知识点:
数值转文本:
操作的话直接用分列,提前设置好自定义快捷键(分列在第9位),按下Alt+9+n+n+T+f,就可以转换成文本,或者用公式法,嵌套任意文本函数就可以转换成文本,这里用的是CONCAT函数
文本转数值:
操作法还是分列,快捷键Alt+9+F,相当于数据→分列→完成;
公式法最快捷的方法是数据前面减负。
记忆导图如下图2所示:

图 2
第2题:创建动态日期
要求:在填充颜色区域录入公式,一个公式生成2024年1月1日到1月10日的水平排程日期
难点:一个公式实现需求
答案1:
录入动态数组公式D2=SEQUENCE(,10,45292)
答案2:
录入动态数组公式D12=SEQUENCE(,10,45292)
知识点:
SEQUENCE函数的参数,一个是水平方向,一个垂直方向,这里用的水平方向,所以第1个参数不用录入(行),直接录入第2个参数,录入数字10代表 10列,对应10天。
第3个参数,开始数录入 45292,代表的就是2024年1月1日,增量不录入默认就是1,也可以写成引号加日期的形式来替代45292这样的数字。
公式对应生成的是一个一维数组,从45292开始,每次增加1,直到生成10个数值为止。执行该函数后,你将会得到一个从45292开始,递增1到45301的序列。按下Ctrl+Shift+3,可以快速转换成日期格式。
效果如下图3所示:

图 3
第3题:求开工和完工日期
要求:在填充颜色区域录入公式,得出每一张工单的开工和完工日期
难点:动态显示开工与完工,也就是当排程数量有变化的时候,开工日期与完工日期也能够同步变化。
答案:
开工日期:
=MIN(FILTER($G$2:$P$2,G3:P3<>””))
完工日期:
=MAX(FILTER($G$2:$P$2,G3:P3<>””))

知识点:
单条件筛选的技巧,这里利用了筛选函数FILTER的第参数,显示区域绝对锁定的方法,这样做的目的就是公式向下填充的时候,始终保持在日期这一列。
条件区域这里的判断条件是不等于空,也就是没有排产数量对应的日期。这样筛选后就得到有排产数量对应的日期。
用MIN判断最小数字与之对应的就是开工日期,MAX判断最大数字与之对应的就是完工日期。
理解数字与日期可以相互转换的知识点。
未完待续……
