网站首页 > 基础教程 正文
打工人常用数据处理工具Excel造就了一个个表哥表姐,也使得表哥表姐们逐步成为大神。新版本的Excel新出了一批功能逆天的函数;包括今天我们要说的循环遍历函数,所谓的循环遍历就是一个一个循环,一个也不要错过的来进行一遍或者规定好的一个处理(lambda定义的过程)。
今天我们主要说说reduce、scan和map;他们的语法大同小异,大家自行研究一下;接下来,我们说说他们三个的区别,reduce主要是一个一个循环数组,最后得到一个结果;scan也是一个一个循环数组,但是得到的结果是多个,它循环一次得到一个结果,接着循环第二次得到第二个结果,……,最后把所有结果都呈现出来;map主要是映射(可以理解为函数的一一对应),处理的数组是什么样的,结果呈现的就是什么样,举例说明一下,map处理的数组是三行四列,最终得到的结果也是三行四列;他们三个,都是循环数组的每一个单元,但是结果有所却别而已。
下面,我们举例说明:
我们要把a1:b3的三行两列数据转化成d1:d9的样子,我们的函数公式为:
=LET(arr,A1:A3,
brr,DROP(REDUCE("",arr,LAMBDA(x,y,VSTACK(x,REPTARRAY(y,OFFSET(y,,1))))),1),
crr,DROP(REDUCE("",OFFSET(arr,,1),LAMBDA(x,y,VSTACK(x,SEQUENCE(y)))),1),
MAP(brr,crr,LAMBDA(x,y,x&y)))
大家会发现,reduce处理后的数组第一行是空白,也就是初始值,我们要用drop函数处理一下,也就是说reduce经常搭配drop使用;map函数的数组最少一个,可以是多个,这里是两个数组,分别是对arr处理后的brr和crr;其实map函数这一段MAP(brr,crr,LAMBDA(x,y,x&y)),直接携程arr&brr也是可以的,这里只是用一下map函数;另外,大家应该也发现了,他们都要和lambda函数搭配使用,这就是他们功能逆天的缘故了,lambda让用户可以实现自己想要的各种功能,也就是我们上面提到的lambda定义的过程。
接下来,我们说点简单的东西,分别用reduce、scan和map实现同一功能;把A1:B4的数据处理成d1:d4的样子。
针对这个题目,我们有以下几个方法,分别用上reduce、scan和map,具体公式为:
方法一:map函数多数组法
=LET(dt,A1:B4,MAP(CHOOSECOLS(dt,1),CHOOSECOLS(dt,2),LAMBDA(x,y,REPT(x,y))))
方法二:map函数单一数组法
=MAP(A1:A4,LAMBDA(x,REPT(x,OFFSET(x,,1))))
方法三:scan函数法
=SCAN("",A1:A4,LAMBDA(x,y,REPT(y,OFFSET(y,,1))))
方法四:reduce函数法:
=DROP(REDUCE("",A1:A4,LAMBDA(x,y,VSTACK(x,REPT(y,OFFSET(y,,1))))),1)
四种方法,其实本质都一样;相比之下,方法二比较简单。好了,就说到这里吧,希望对大家有所帮助,也希望得到大神的指导,谢谢大家!
猜你喜欢
- 2025-06-08 js 如何定义map及赋值(js自定义map)
- 2025-06-08 MAP函数在WPS中的嵌套应用,倍数条件取值
- 2025-06-08 高阶用户必备:MAP函数+LAMBDA在WPS中的组合技实战!
- 2025-06-08 python map函数的用法和特点(python中map函数功能)
- 2025-06-08 遍历多个数组!6个MAP函数高阶用法,EXCEL数据处理一招搞定!
- 2025-06-08 Excel新函数MAP函数基础应用篇(excel map函数)
- 2025-06-08 map函数是一个超级映射器,遍历数据就用它
- 2025-06-08 新函数MAP来了,Excel进入函数式编程,我越来越看不懂了
- 2024-07-24 【python】两分钟掌握map()函数的工作原理
- 2024-07-24 Python语言学习实战-内置函数map()的使用(附源码和实现效果)
- 最近发表
- 标签列表
-
- jsp (69)
- gitpush (78)
- gitreset (66)
- python字典 (67)
- dockercp (63)
- gitclone命令 (63)
- dockersave (62)
- linux命令大全 (65)
- pythonif (86)
- location.href (69)
- dockerexec (65)
- tail-f (79)
- queryselectorall (63)
- location.search (79)
- bootstrap教程 (74)
- deletesql (62)
- linuxgzip (68)
- 字符串连接 (73)
- html标签 (69)
- c++初始化列表 (64)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)