CASE 1
显示金额累计过程
★★★要求:显示金额累计过程fx公式示例
=SCAN(0,$I$8:$I$13,LAMBDA(累计,金额,累计+金额))
解释:SCAN 和 REDUCE 类似,但它会把每一步累计结果都显示出来,适合做累计金额列。
=SCAN(初始值, 数组, LAMBDA(累积值, 元素, 计算式))
| # | 参数 | 要求 | 怎么理解 / 怎么填 |
|---|---|---|---|
| 1 | 初始值 | 必填 | 赋给变量或参与计算的具体内容。 |
| 2 | 数组 | 必填 | 要参与计算或返回结果的单元格区域/数组。 |
| 3 | LAMBDA(累积值, 元素, 计算式) | 必填 | 赋给变量或参与计算的具体内容。 |
① 找到数据区域
先确认条件列和结果列在哪,注意固定区域加 $
② 按顺序填参数
依次填 初始值、数组、LAMBDA(累积值, 元素, 计算式)
③ 回车并向下填充
双击填充柄,整列公式自动套用
=SCAN(0,$I$8:$I$13,LAMBDA(累计,金额,累计+金额))
解释:SCAN 和 REDUCE 类似,但它会把每一步累计结果都显示出来,适合做累计金额列。
=SCAN(0,$H$8:$H$13,LAMBDA(累计,数量,累计+数量))
解释:SCAN 会逐行累加数量列,并把每一步的中间结果都显示出来。第 1 行是第一笔数量,第 2 行是前两笔数量合计,以此类推。
=SCAN("",$F$8:$F$13,LAMBDA(累计,部门,累计&部门&" "))解释:每读取一个部门,就把它拼接到累计文本后面,并显示每一步拼接过程。
上面案例里的 日期、项目 等列,就来自这张表
| 行 | 日期 | 项目 | 部门 | 区域 | 数量 | 金额 |
|---|---|---|---|---|---|---|
| 8 | 2024-01-05 | 笔记本电脑 | 销售部 | 华东 | 12 | 72,000 |
| 9 | 2024-01-12 | 显示器 | 销售部 | 华南 | 20 | 36,000 |
| 10 | 2024-02-03 | 键盘 | 市场部 | 华东 | 35 | 17,500 |
| 11 | 2024-02-18 | 鼠标 | 销售部 | 华北 | 48 | 14,400 |
| 12 | 2024-03-09 | 移动硬盘 | 市场部 | 华南 | 16 | 12,800 |
| 13 | 2024-03-21 | 打印机 | 财务部 | 华东 | 8 | 16,000 |