运用WPS/Lambda及Scan函数实现动态数组累计需求分析 No291

古哥计划

优秀创作者

PMC在进行数据分析时,经常需要对全年各个月份的各种需求进行累计需求分析,即把每个月的需求数量加总起来,形成一个累计的数值。这种累计需求通常用于观察趋势,并与实际的生产、销售或其他预期目标进行对比,以评估实际表现是否达到预期。管理者可以利用这些累计数据来制定未来的策略或决策,例如调整生产计划、预测未来的需求等。

以A工厂为例,该工厂上半年计划每月销售目标为500万。在实际销售中,1月到3月的销售额分别完成为:460万、380万、580万。因此,从1月到3月的累计销售额分别是:460万、840万、1420万。对应的累计比例则分别是:15%、28%、47%。这样,PMC就能够更加清晰地了解销售趋势,以便更好地进行决策。

案例数据如下图1所示:

图1

这总累计需求的计算公式如何在表格中设计呢?古老师分享三个种方法,其中最后一种方法最为高效。

单元格内容锁定法

这个方法是比较直接的方法,通过求和函数SUM,配合锁定第一个求和范围开始的单元格加上填充公式的方法来实现。

录入公式:

C5=SUM($C$4:C4),向右填充

C6=C5/SUM($C$3:$H$3),向右填充

函数释义:

$C$4:这是一个绝对引用。$ 符号在分别在列号C和行号4左边,表示单元格的列和行都被固定了。无论你怎样拖动或复制这个公式,$C$4 都会始终指向C列第4行的单元格。

C4:这是一个相对引用。没有 $ 符号的单元格引用会随着公式的复制或拖动而改变。例如,如果你把这个公式向右填充一个单元格,C4 会变成 D4。

当你把这个公式向右填充时WPS表格会自动调整公式中的单元格引用,以反映新的位置。因为 C4 是一个相对引用,所以当你向右填充时,它会变成 D4,E4,F4,等等,取决于你填充了多少个单元格。这样就行成累计的求和范围:C4:D4、C4:E4、C4:F4;

这种混合引用(既有绝对引用又有相对引用)在表格中是非常有用的,尤其是当你需要公式在填充或复制到不同位置时保持对某些单元格的引用不变时。

效果如下图2所示:

图2

动态数组法

单元格内容锁定的方法简单直接,缺点是需求填充公式,不能实现一键填充。这里可以用换个思路,用动态数组函数来写

录入公式:

C5=LAMBDA(累计区域,SCAN(0,TOROW(累计区域,3),LAMBDA(X,Y,X+Y)))(C4:H4)

函数释义:

第1层:LAMBDA(累计区域, SCAN(0, TOROW(累计区域,3), LAMBDA(X, Y, X+Y)))

这里定义了一个匿名LAMBDA函数,它接受一个名为“累计区域”的参数。LAMBDA函数是用来创建可复用的自定义函数,在这里是为了实现累加操作。

第2层:TOROW(累计区域,3),这里把累计区域中转成一行,同时用参数3把0去除;

第3层:SCAN(0, TOROW(累计区域,3), LAMBDA(X, Y, X+Y)))(C4:H4)

SCAN是一个迭代函数,用于根据指定的逻辑对一组值进行累加或其他复合运算,其中:

初始值:0,这是累加的起始值。

累计区域:这里的实际值会被传入前面定义的LAMBDA函数中,也就是C4到H4这一行的数值区域。也就是{460,380,580,0,0,0}

LAMBDA(X, Y, X+Y):这是一个Lambda表达式,用于定义每次迭代时的操作逻辑。X代表前一次迭代的结果,Y代表当前遍历到的元素。

在每次迭代中,X和Y相加并将结果作为下一次迭代的X值,从而实现连续累加的效果,运算步骤如下:

第1次:0+460,X=0,Y=460

第2次:460+380=840,X=460,Y=480

第2次:840+580=1420,X=840,Y=480

最后的括号中传入了实际的“累计区域”,即C4到H4这一行的所有单元格的值。

录入公式:

C6=C5#/SUM(C3:H3)

函数释义:

C5#为C5的公式结果:{460,840,1420},除以C3:H3的和,运算结果就是460/3000、840/3000、1420/3000的结果;

这样就得到下图3的效果:

图3

输入法定义短语

累计需求的使用需求非常多,需要在不同的数据中使用累计求和,为了避免每一次都重新录入公式,我们可以配合输入的自定义短语来快速录入,这样的话相当于自定义了一个新的函数

打开某输入法的设置界面,打开方式:设置→词库管理→自定义短语→添加,在弹出的对话框中:

缩写:lj,这个为英文小写,就是快速录入公式的代号

候选:2,这个就是界面的候选词顺序,不输入1的原因是为避免和正常的打字冲突,正常五笔录入lj,是辊字,放在2就不会冲突了。

自定义短语:

=UNIQUE(LAMBDA(累计区域,SCAN(0,累计区域,LAMBDA(X,Y,X+Y)))())

效果如下图4所示:

图4

按确定完成后,我们来测试一下,输入快速公式后,需要选择累计区域,也就是自定义短语中预留括号内的引用累计区域范围M3:M8.

完成效果如下图5所示:

图5

到这里,一个类似自定义函数的功能配合输入法就完成了,只要是有累计需求的计算,只需要录入lj,再配合选择累计需求范围就可以了。

巧用WPS AI,为上百名女员工打造3·8女神节专属祝福与精美卡片 290

从单一公式到复杂逻辑:通过实战案例揭示PMC面试中数据分析与解决问题的能力区分 No 289

MRP多阶需求运算报表-WPS表格版本 (8 No 288

MRP多阶需求运算报表-WPS表格版本 (7) No 287

MRP多阶需求运算报表-WPS表格版本 (6) No 286

MRP多阶需求运算报表-WPS表格版本 (5) No 285

MRP多阶需求运算报表-WPS表格版本 (4) No 284

MRP多阶需求运算报表-WPS表格版本 (3) No 283

MRP多阶需求运算报表-WPS表格版本 (2) No 282

MRP多阶需求运算报表-WPS表格版本 (1) No 281

巧用WPS中UNIQUE与SUM函数,一步解决跨门店商品库存成本合计问题 No 280

利用XLOOKUP快速实现培训未参加人员的扣分 NO 279

278 挑战WPS AI 写出复杂的多层嵌套公式

277 超预期,原来WPS AI也可以写出复杂的多层嵌套公式

276 巧妙用VSTACK、HSTACK实现出货货柜合并的表格变形

275 录入查询产品型号的首字,提取对应首字相同的所有型号,并按销量降序

表格中录入简称查找包含全称的所有数据 No.274

如何快速提取不同单元格的内容,并汇总到一列 No 273

如何统计指定年和月后,汇总对应产品的销售数据 No272

表格中在一个单元格内有多个条件,如何快速求和 No271

WPS新函数:巧妙利用DROP 去重UNIQUE函数留下的“0” NO 270

快速计算出每名员工参与了几个项目No.269

统计每个城市的唯一商品明细No.268

WPS更新后的TAKE函数轻松实现动态求和 No 267

WPS 新函数 EXPAND 实现工单快速分拆 No 266

WPS 新函数 CHOOSECOLS 快速对齐错乱列 No 265

WPS新函数LET让公式的长度大大的简化了. No.264

浙江省
浏览 1091
2
10
分享
10 +1
4
2 +1
全部评论 4
 
学习
· 北京
回复
 
打卡学习
· 浙江省
回复
 
清华学弟任泽岩

创作者俱乐部成员

收到,学习!
· 辽宁省
回复
 
王禹成

创作者俱乐部成员

LAMBDA都用上了
· 浙江省
回复