老同学表格定制专家WPS / Excel 公式助手

SCAN

数组函数

对初始值和数组元素逐个应用 Lambda 函数,返回包含累积过程的结果数组。

基本语法
=SCAN(初始值, 数组, LAMBDA(累积值, 元素, 计算式))

参数怎么填

必填 3 个
#参数要求怎么理解 / 怎么填
1初始值必填赋给变量或参与计算的具体内容。
2数组必填要参与计算或返回结果的单元格区域/数组。
3LAMBDA(累积值, 元素, 计算式)必填赋给变量或参与计算的具体内容。

① 找到数据区域

先确认条件列和结果列在哪,注意固定区域加 $

② 按顺序填参数

依次填 初始值、数组、LAMBDA(累积值, 元素, 计算式)

③ 回车并向下填充

双击填充柄,整列公式自动套用

跟着案例练 3 次

点击公式右侧可复制,换成你的单元格就能用
CASE 1

显示金额累计过程

★★★要求:显示金额累计过程
fx公式示例
=SCAN(0,$I$8:$I$13,LAMBDA(累计,金额,累计+金额))

解释:SCAN 和 REDUCE 类似,但它会把每一步累计结果都显示出来,适合做累计金额列。

CASE 2

显示数量累计过程

★★★要求:显示数量累计过程
fx公式示例
=SCAN(0,$H$8:$H$13,LAMBDA(累计,数量,累计+数量))

解释:SCAN 会逐行累加数量列,并把每一步的中间结果都显示出来。第 1 行是第一笔数量,第 2 行是前两笔数量合计,以此类推。

CASE 3

显示部门拼接过程

★★★要求:显示部门拼接过程
fx公式示例
=SCAN("",$F$8:$F$13,LAMBDA(累计,部门,累计&部门&" "))

解释:每读取一个部门,就把它拼接到累计文本后面,并显示每一步拼接过程。

模拟数据|动态数组数据

上面案例里的 日期、项目 等列,就来自这张表

把这张表放进工作台
行日期项目部门区域数量金额
82024-01-05笔记本电脑销售部华东1272,000
92024-01-12显示器销售部华南2036,000
102024-02-03键盘市场部华东3517,500
112024-02-18鼠标销售部华北4814,400
122024-03-09移动硬盘市场部华南1612,800
132024-03-21打印机财务部华东816,000