龙空技术网

MAP函数遍历每一个值

好好学Excel 518

前言:

今天看官们对“怎么取出map中的值数据中的数据的个数”大致比较重视,姐妹们都需要剖析一些“怎么取出map中的值数据中的数据的个数”的相关资讯。那么小编同时在网上网罗了一些关于“怎么取出map中的值数据中的数据的个数””的相关文章,希望我们能喜欢,兄弟们快快来了解一下吧!

如果你把上节课的BYROW函数学会,那这个函数学起来就非常容易。BYROW是将LAMBDA的规则应用到每一行,lambda中的变量代表每行。那MAP函数是将LAMBDA的运算规则运用到每个值。BYROW具备的特性MAP都有,唯一不同的是,MAP可以映射多个数组,我们直接看参数。

一、参数介绍

array1 要映射的数组。lambda_or_array<#> 一个 LAMBDA,必须是最后一个参数,并且必须具有传递的每个数组的参数,或者必须有另一个要映射的数组。

二、介绍用法

a.普通用法

这里面x代表第一参数的每个值,lambda表达式每个x+1,所以最终得到一个和第一参数一样大小的数组,这里第一参数也可以选择一个一维数组。

b.多参数用法

这里我们输入了两个区域,这时候x代表第一个区域的每个值,y代表第二个区域的每个值,这时候运用x*2+y,他就会将第一个x和y进行预算,依次进行第二次,第三次,最终得到一个数组。这里也是和BYROW一样,lambda的运算结果只能是单值。

如果多参数的时候数据区区域大小不一致,我们可以看下会返回什么结果。我们可以发现他并不会得到两列都为3的数组,它会一一对应,把第一个区域和第二个区域一样大小的区域进行运算。第一组X Y, D6和H6可以运算,但是E6就没有可运算的Y。所以报错。

c.引用特性

map函数和byrow一样,当数组参数是区域引用,那变量会保留引用特性,例如上节课的COUNTIF,MAP也可以使用,这里就不再重复讲解,后续大家会经常看到 x:B1 等写法。

三、案例应用

案例1:

我们想求出每个人多次销量的数据,然后用逗号间隔,这个我们可以用BYROW完成。第一参数就是黄色姓名,然后变量代表每一行。当然我们也可以用MAP,去遍历每个值。当我们计算的第一参数只有一列的时候,用MAP和BYROW 都可以。

lambda表达式第一步FILTER筛选X代表的每一个都行,FILTER会得到每个姓名对应的多个值,因MAP的lambda只能返回单值,所以需要textjoin聚合为单值,用分隔符隔开。最终形成下图结果。

案例2:

计算姓名的个数,思路是每行姓名进行拆分,使用TEXTSPLIT 将名字拆成纵向的一维数组。然后使用ROWS函数判断数组有几行。然后使用MAP函数遍历每个内容,变量X就代表每个值。

标签: #怎么取出map中的值数据中的数据的个数