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

MAP

数组函数

对一个或多个数组元素逐个应用 Lambda 函数,返回结果数组。

基本语法
=MAP(数组1, [数组2], ..., LAMBDA(参数1, [参数2], ..., 计算式))

参数怎么填

必填 1 个 · 选填 2 个
#参数要求怎么理解 / 怎么填
1数组1必填要参与计算或返回结果的单元格区域/数组。
2数组2选填要参与计算或返回结果的单元格区域/数组。
3LAMBDA(参数1, 参数2, ..., 计算式)选填MAP 会把前面数组中对应位置的值传给 LAMBDA,再返回计算结果。

① 找到数据区域

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

② 按顺序填参数

依次填 数组1

③ 回车并向下填充

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

跟着案例练 3 次

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

逐个给金额打折

★★★要求:逐个给金额打折
fx公式示例
=MAP($I$8:$I$13,LAMBDA(金额,金额*0.9))

解释:MAP 会逐个处理金额列里的每个值。LAMBDA 中的“金额”代表当前这个单元格的值。

CASE 2

逐行计算数量乘金额

★★★要求:逐行计算数量乘金额
fx公式示例
=MAP($H$8:$H$13,$I$8:$I$13,LAMBDA(数量,金额,数量*金额))

解释:MAP 可以同时接收两个数组。每一行的数量和金额会一起传入 LAMBDA,再计算乘积。

CASE 3

给项目名称加前缀

★★★要求:给项目名称加前缀
fx公式示例
=MAP($E$8:$E$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