完成1阶的毛需求后,就需要对库存进行扣减,计算出这一阶层的真实需求,在计算前先把下图1的数据进行整理一下。
< class="pgc-img">>图 1
对1阶子件排序
MP3的排程中,如果子件相同的话,就需要把子件排序,也需要把父件的需求日期排序,通俗的理解就是排程在前面的优先扣减库存(资源)。这里用排序函数进行两次排序,第一次对日期进行排序,第二次对子件进行排序。
录入动态数组公式:
=SORT(SORT(M3:R63,6,1),3,1)
再用选择列函数分别把这个区域的排序结果转换成一列一列的动态数组公式,这样后续引用库存的时候就可以用#号的引用方式来引用了。
录入分列动态数组公式:
=CHOOSECOLS(SORT(SORT($M:$R,6,1),3,1),COLUMN(A1))
函数释义:
通过COLUMN(A1)向右填充,得到数字1,2,3,4,5,配合选择列函数CHOOSECOLS,返回第1列,第2列……
效果如下图2所示:
< class="pgc-img">>图 2
计算1阶需求
计算1阶需求,需要提前把库存引用过来,增加一列库存,把子件的库存用引用函数引用过来。录入动态数组公式:
=XLOOKUP(V3#,'3.库存'!B:B,'3.库存'!C:C,0)
函数释义:
子件的库存引用过来,如果引用是错误的,代表没有库存,用XLOOKUP第3参数0来替代。
效果如下图3所示:
< class="pgc-img">>图 3
有了库存之后就是用库存减去子件需求,这里提前把子件需求进行多条件求和后,再用库存减。录入公式并向下填充:
AA3=Z3-SUMIFS($X:X3,$V:V3,V3)
函数释义:
通过锁定第一个子件料号来多条件求和,形成一个累计子件需求求和的效果,这样就表示50-200,-150,第二行,50-600,-550……
效果如下图4所示:
< class="pgc-img">>图 4
有了这个辅助判断后,再进行子件需求的判断,如果是-150,代表需求要150,如果是正数的话,代表需求够,不需要生产。通过观察,可以发现,只需要用辅助判断的绝对值和子件需求进行对比,就可快速得到子件需求。
例如:-150 的绝对值 150,与子件需求200对比,150>200,条件成立,返回200,否则返回辅助判断的负值(--150,也就是150)。
此时可以录入公式:
=IF(AA3>=0,0,IF(ABS(AA3)>X3,X3,-AA3)),向下填充
得到下图5的结果。
< class="pgc-img">>图 5
上图就是通过MPS对应BOM分解后的1阶需求。
1阶需求整理
此时的1阶需求是一维报表,中间有子件需求为0的需要筛选去除,所以还需要整理一下。
子件录入动态数组公式:
=CHOOSECOLS(FILTER(V3:AB4000,AB3:AB4000<>0),1)
子件需求:
=CHOOSECOLS(FILTER(V3:AB4000,AB3:AB4000<>0),7)
子件日期 :
=CHOOSECOLS(FILTER(V3:AB4000,AB3:AB4000<>0),4)-1
这里减去1天代表1阶子件的需求要比0阶的成品要提前一天
完成后效果如下图6所示:
< class="pgc-img">>图 6
整理完后1阶子件的一维报表与0阶MPS的父件一维报表格式是一样的,也就是意味着2阶,3阶……只需要不断重复就可以最终计算出所有子件的需求了。
1阶转换二维报表
实际工作中看一维报表太长了,所有可能还需要把一维转二维,这里建模的时候,还是把二维数据同时放在边上方便查看。
子件录入动态数组公式:
=UNIQUE(AD3#)
日期录入动态数组公式:
=TOROW(SORT(UNIQUE(AF3#)))
函数释义:
日期去除重复项后,进行排序,再进行转置。
汇总求和录入动态数组公式:
=SUMIFS(AE:AE,AD:AD,AH3#,AF:AF,AI2#)
注意上面3个公式都是动态数组公式,无需填充公式
完成后的效果如下图:
< class="pgc-img">>图 7
如果产品的物料清单只有1阶的话,到这里就结束了。但是实际的情况肯定不只1阶,需要如何处理呢?
张WPS版本的《MRP多阶需求运算表》会整合很多PMC生产计划中需要用到的基本函数与操作技巧,在一步一步实现表格版本的MRP多阶的运算同时,也顺便把表格技能学习了。
昨天已经把一张经典的二维报表数据转换成一维报表数据了,转换过程中使用了TOCOL函数加上辅助列转换而成,转换后发现有一个瑕疵,就是没有排程数量的(0)料号日期也在上面,理论上来说,不会对数据有影响,只需要筛选大于0的数据就可以了。
但是,为了对数据的整体效果实现一致性,现在需要用公式把这些为0的数据“屏蔽”。屏蔽不需要的数据,不管是不是0,只要有精准的条件就可以利用筛选函数FILTER筛选对应的数据。这里分别用辅助列和不用辅助列两种方法来实现屏蔽0值。
效果如下图1所示:
< class="pgc-img">>图 1
辅助列方法
用辅助列的方法是最快的,但是因为本身这张一维报表也是通过辅助列创建的,为了减少辅助列,等下继续分享不用辅助列的方法。
先把对应的标题复制到边上单元格区域,然后输入公式:
=FILTER(N3:P300,O3:O300<>0)
公式释义:
N3:P300 是你要从中筛选数据的源区域,包含了从第3行到第300行的N至P列的所有单元格,这里预留到300行,如果数据还超,可以继续预留到3000或者更大的行数。
O3:O300 是条件区域,这里用来决定哪些行会被筛选出来。也就是数量这一列。
<>0 是逻辑表达式,意味着只要 O3:O300 范围内的单元格中的值不等于0(即非零值),那么对应的行就会被包含在筛选结果中。
整个公式的作用是返回一个新的动态数组,其中只包含那些在 O 列中有非零数值(即正数或负数,但不包括零或空白)的行,并且同时展示这些行在 N、O 和 P 列中的所有数据。
如果应用此公式,WPS会根据条件自动调整结果数组的大小和形状。在新版本的WPS中,过滤后的结果可以自动填充到相邻的足够大的空单元格区域内,或者配合其他能够处理动态数组的函数一同使用。
效果如下图2所示:
< class="pgc-img">>图 2
不用辅助列方法
不用辅助列的方法,其实和上面的思路差不多,只不过需要把原够一维表中3列的公式合并成一个公式,原来三列的公式分别是:
料号:=TOCOL(B3:B5&D1:H1)
数量:=TOCOL(D3:H5)
日期:=--TOCOL(D2:H2&A3:A5)
现在需要把三个公式合并成一个公式:
合并:
=HSTACK(TOCOL(B3:B5&D1:H1),TOCOL(D3:H5),--TOCOL(D2:H2&A3:A5))
合并完成后效果如下图3所示:
< class="pgc-img">>图 3
合并完成后,就可以配合选择列函数来进行筛选了,不过筛选前需要定义名称,也就是把上述非常长的公式定义成一个字母来替代,配合LET函数。
录入函数:
=LET(A,HSTACK(TOCOL(B3:B5&D1:H1),TOCOL(D3:H5),--TOCOL(D2:H2&A3:A5)),FILTER(A,CHOOSECOLS(A,2)<>0))
函数释义:
定义A为一维数组区域,CHOOSECOLS(A,2),选择A,也就是这个区域的第2列(数量这一列),筛选这列不为0的数据。
效果如下图3所示:
< class="pgc-img">>如果没有这个LET函数,这个公式将会非常长,如下:
=FILTER(HSTACK(TOCOL(B3:B5&D1:H1),TOCOL(D3:H5),--TOCOL(D2:H2&A3:A5)),CHOOSECOLS(HSTACK(TOCOL(B3:B5&D1:H1),TOCOL(D3:H5),--TOCOL(D2:H2&A3:A5)),2)<>0)
而且不方便看,多层嵌套函数建议多定义名称来减少公式字符的长度,同时也能够方便函数公式的理解与读写。
未完待续……
< class="pgc-img">>和古哥一起学习PMC生产计划运营,一辈子够不够?
关注古哥计划
<>五年前,在北京提到望京,大多数人都会迷茫。如今,望京地区飞速发展,阿里巴巴等互联网企业先后入住周边大楼,这里已然成为了新兴的CBD。
在望京的保利好食界三层美食街,有一家叫“W+”的川菜馆,在2015年正式开门营业。老板叫张哥,是个随和又风趣的东北爷们,也是枚地道的吃货。餐厅的每道菜都经过张哥的精心改良,味道堪称一绝。开业初期,周边办公区的入驻率并不高,张哥却凭借着好手艺,让“w+”生意盈门。
随着附近写字楼的建成,既给“w+”带来了客流,也给张哥带来了烦恼。“虽然工作日过来吃饭的人多了,但很多时候,由于等不到位、等位时间过长,很多小年轻、白领宁愿去人少的餐厅,有客也接不了。”张哥皱着眉头:“如果想要加快速度,就要多招人,又不划算……”这个苦恼一直困扰了张哥很久….
然而,现在你再走进“w+”,就会发现张哥的眉头不再紧蹙,一副乐呵呵的模样。午餐高峰期,进出这家川菜馆的顾客也比以前更多了,餐厅却有条不紊,不慌不乱。而这些变化都缘于餐厅在16年12月,换上了一台二维火智能收银机。
1、扫码率高达68%,订单数增加近50%
“中午特别忙,没时间等客户选择菜单,必须让客户扫码点单,扫码结账,加快翻台率”张哥说的很笃定。为此,餐厅特意推出了扫码买单9.5折的优惠。现在店铺的月均扫码率也在68%以上。午饭时间,顾客走进“w+”,已经养成了自觉拿起手机进行扫码点单、扫码结账的习惯。“w+”的三项营收指标也被刷新。
▲餐厅翻台率提高了15%
▲午餐高峰期订单数增加近50%
▲营业额提升20%
2、节省服务员,一年下来省10万
张哥笑脸盈盈:“本来还在纠结要不要多招服务员,这下倒好,反而比之前少了2名服务员,一年下来最起码省了10万。”以前服务员还要帮助顾客点餐,现在只需要传菜、清台,相同时间内能做的事也更多了。
3、合理修改餐厅布局,提高坪效
根据二维火数据的报表分析,张哥就想着把餐厅布局进行修改,对餐厅的二层三层都进行了扩充,就餐区域扩充了16%。现在,“w+”也能接待更多的顾客。有了二维火智能收银系统的高效保障,餐厅的坪效得到了显著提高。
现在张哥会习惯用手机查看餐厅的营收状况。遇到问题,他也会在二维火的微信服务群里,得到及时的解答。“二维火的服务真的做的特别好!”看着蹭蹭上涨的营业额,张哥频频点头。
如今望京已然成为北京互联网的基地,互联网的思维也在潜移默化的影响着周边的餐厅。越来越多的餐厅老板看到了“w+”的惊人转变,在新店开业时,纷纷用上了二维火智能收银系统。望京与互联网相宜,餐厅老板对二维火青睐有加。
>