栏目分类
新闻动态
你的位置:pg电子游戏到底公正吗 > 新闻动态 >LAMBDA连载(4)--Map实现函数内部的循环迭代
发布日期:2025-03-07 13:11 点击次数:103
MAP:地图,绘图,映射
截止今日24.4.23 MAP函数仅能在office365中使用,wps预计在6月更新中可用!
很多场合中用映射来解释函数MAP的功能,但我更愿意用“挨个执行”来解释它,正式一点可以说成遍历,对应VBA代码中就是循环
=MAP(数组1,数组2或LAMBDA,数组2或LAMBDA,数组2或LAMBDA……)
MAP启用的最后一个参数必定是LAMBDA表达式,在此之前都是数组。例如启用了4个参数,第4个是LAMBDA表达式,第1到第3个是数组。
先用一个简单的案例说明MAP“挨个执行”的特性。
给每一个销量数据加上5,输入简单的数组公式即可实现:
=C2:C12+5
图片
改用MAP:
=MAP(C2:C12,LAMBDA(x,x+5))
图片
两个公式结果完全一致,计算过程则大相径庭。
第一个公式各数组中的元素每个都加上5,一次性完成。
第二公式中MAP的第一参数是一个数据区域,它被传递给LAMBDA定义的参数x,此时
X=C2:C12
LAMBDA表达式x+5其实就等同于C2:C12+5,但这个计算并非一蹴而就,而是包含了11次计算:
第一次:C2+5
第二次:C3+5
第三次:C4+5
……
即对区域中的单元格挨个执行加5的操作,最后又打包到一个数组中作为结果。
累加求和
再用一个更加直观的案例来体现“挨个执行”。
=MAP(C2:C12,LAMBDA(x,SUM(C1:x)))
公式中唯一的参数x等同于C2:C12,那么SUM(C1:x)等同于SUM(C1:C12).
同样,SUM也是计算了11次,每次计算中C1是固定的,而x中的元素则是挨个执行:
第一次:SUM(C1:C2)
第二次:SUM(C1:C3)
第三次:SUM(C1:C4)
……
图片
查找第一个达成销量目标的人
LAMBDA系列函数更多用于创建数组支持较为复杂的运算,再用一个案例来说明。
要查找数据中第一个销量超过300的姓名。
先用MAP结合SUMIF对每个人的销量累加求和:
=MAP(B2:B12,C2:C12,LAMBDA(x,y,SUMIF(B1:x,x,C1:y)))
图片
在此基础上用XLOOKUP查找第一个超过300的姓名:
=XLOOKUP(TRUE,MAP(B2:B12,C2:C12,LAMBDA(x,y,SUMIF(B1:x,x,C1:y)))>300,B2:B12)
图片
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报。 上一篇:以前的爸爸,现在的爸爸,6张对比图说明反差巨大
下一篇:没有了
下一篇:没有了
相关资讯
- 2025/03/07LAMBDA连载(4)--Map实现函数内部的循环迭代
- 2025/02/03以前的爸爸,现在的爸爸,6张对比图说明反差巨大
- 2024/12/2112月20日基金净值:太平丰润一年定开债发起式最新净值1.0017,涨0.03%