为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

Excel制作动态WaterFall Analysis 方法详解

2019-03-11 5页 doc 20KB 117阅读

用户头像

is_477730

暂无简介

举报
Excel制作动态WaterFall Analysis 方法详解Excel制作动态WaterFall Analysis 方法详解(全)-包含VBA代码示例 Supply Chain S&OP 相关项目中往往会涉及Fcst 准确性分析,Water Fall Analysis 是一个很流行的分析手段。 通常Fcst tracking 有两个方向,一个是销售预测者和真实销售值的对比,另外一个是给供应商的预测订单数量和实际订单数量的对比。本文介绍后者在Excel中的作法。 1-首先建立两个表格放数据,Monthly Fcst , Monthly Sale,Monthly Fcst 表格存放...
Excel制作动态WaterFall Analysis 方法详解
Excel制作动态WaterFall Analysis 方法详解(全)-包含VBA代码示例 Supply Chain S&OP 相关项目中往往会涉及Fcst 准确性分析,Water Fall Analysis 是一个很流行的分析手段。 通常Fcst tracking 有两个方向,一个是销售预测者和真实销售值的对比,另外一个是给供应商的预测订单数量和实际订单数量的对比。本文介绍后者在Excel中的作法。 1-首先建立两个表格放数据,Monthly Fcst , Monthly Sale,Monthly Fcst 表格存放历史上每个月Next 12 Month Fcst, Monthly Sales 则是每个月Actual Sale。高级一点的这两个表格也可以Link到数据库达到自动更新的效果。 2-一个新Sheet如上图,行和列名分别列出月份,旁边打1 到100 做辅助数据。 观察WaterFall 中规律有三点, (1)行数和列数相等时为表格对角线的单元格,里面放销售值。 (2)列数比行数大时为上半部分表格,放预测值。 (2)列数比行数小时放空值。 有心的人可能会发现这是大学线性代数矩阵那一章节基本概念。 如果要显示不同供应商的Water Fall,在左上角加一个单元格叫Selection,里面放供应商名字给用户选择,这样就是一个动态Waterfall了。 在第一个单元格输入类似以下的公式,填充至所有,动态waterFall就大功告成了,如果你选择供应商A,waterFall 就会刷新成A的,如果选择(All)就是所有供应商的,因为(All)公式中是不识别的,所以要用Vlookup 把(All) 转成* ,*在sumif 的条件中表示所有。 =IF(L$1<$A12,"",IF(L$1=$A12,SUMIF(Actual_Order!$A:$A,$B12&L$2&$A$1,Actual_Order!$G:$G),SUMIF(Total_Fcst!$A:$A,$B12&L$2&$A$1,Total_Fcst!$F:$F))) 公式中L$1<$A12是判断单元格位置的,SUMIF(Actual_Order!$A:$A,$B12&L$2&$A$1,Actual_Order!$G:$G)是为了动态引用不同供应商。 3-加上些条件格式,如让对角线的值变红色等等,可以让分析结果更加一目了然。 4-添加双击可以Drill Down 到Detail Data 功能。 在分析的时候,经常看到一个Fcst 或则Actual Order 很异常,想查下更加Detail Level的数据,看看什么原因。解决方法如下: 添加一张链接到Access的表格保护Detail的数据,在Excel中添加一个双击事件,把双击的单元格所对应的条件转化到Detail数据表格的筛选条件中。参考代码如下: Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Target.Row >= 12 And Target.Column >= 11 And Len(Target.Value) > 1 Then Dim Data_Month Dim ETD_month Dim catogory With ThisWorkbook.Worksheets("Water_Fall") Data_Month = .Cells(Target.Row, 2).Value ETD_month = .Cells(2, Target.Column).Value catogory = .Range("A1").Value End With With ThisWorkbook.Worksheets("Detail_Data").ListObjects("Table_Monthly_Fcst_Database.accdb").Range .AutoFilter If Target.Row = Target.Column Then ‘如果双击单元格在对角线,则筛选Open order ,否则筛选Fcst. .AutoFilter Field:=1, Criteria1:=Data_Month + 0 .AutoFilter Field:=2, Criteria1:="Open PO" .AutoFilter Field:=10, Criteria1:=ETD_month .AutoFilter Field:=14, Criteria1:=catogory Else .AutoFilter Field:=1, Criteria1:=Data_Month .AutoFilter Field:=10, Criteria1:=ETD_month .AutoFilter Field:=14, Criteria1:=catogory End If End With ThisWorkbook.Worksheets("Detail_Data").Activate ThisWorkbook.Worksheets("Detail_Data").Cells(1, 1).Select End If End Sub 加完以上代码, 当双击WaterFall的值,则弹出以下DetailData做进一步的分析。
/
本文档为【Excel制作动态WaterFall Analysis 方法详解】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索