前端开发入门到精通的在线学习网站

网站首页 > 资源文章 正文

excel函数技巧:map函数作filter的二参

qiguaw 2024-11-09 13:09:16 资源文章 13 ℃ 0 评论


如图:B:D列为源数据列,其中B列为名称列,想根据名称列过滤出记录多于一次的所有数据,公式如下:

=LET(X,LOOKUP(ROW(B2:B16),ROW(B2:B16)/(B2:B16<>""),B2:B16),

FILTER(B2:D16&"",MAP(X,LAMBDA(M,SUM(1*(X=M))))<>1))

公式思路:提取数据是查找的一部分,多单元格提取用FILTER函数。

但名称列有合并单元格,公式是没法识别合并单元格的。只能认为合并单元格的第一行有数据,其它行为空值,这就需要对空单元格进行填充。x就是解决这一问题的,当然也还有其它方法如reduce等。

x得到的数据为内存数组,不能直接使用countifs\countif等函数进行计数。这里使用了map函数进行计数。map函数有一个特点与filter特别搭配,它返回与引用数组同样的数组。以此例,map数组引用的是x,x是一个15行1列的数组,那么map函数也返回一个15行1列的数组。这与filter第一参的数组长度正好对应。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表