函数50勇士大战多条件筛选问题

360影视 欧美动漫 2025-05-01 04:17 3

摘要:如图,源文件为销售单据号、产品款式和销量,每个单据里面有多个款号,如何统计各款号所在订单中出现频次最高的其他款号,公式如下:

如图,源文件为销售单据号、产品款式和销量,每个单据里面有多个款号,如何统计各款号所在订单中出现频次最高的其他款号,公式如下:

=MAP(unique(B2:B1000),LAMBDA(x,LET(

#将所有的产品款式去重,并进行循环

a,FILTER(A:A,B:B=x),

#筛选出当前款式所涉及的所有单据号

b,FILTER(B:B,(B:Bx)*ISnumber(XMATCH(A:A,a)),"无"),

#根据单据号筛选出所有涉及的款式,但不包括当前的款式

c,GROUPBY(b,b,counta,0,0),

#统计出每个款式出现的次数

rr,TEXTJOIN(",",1,"("&x&")","("&TEXTJOIN(",",,FILTER(INDEX(c,,1),INDEX(c,,2)=MAX(INDEX(c,,2)),"无"))&")"))),

#筛选出最高次数并合并成字符字符串与当前款式并列

rr)

公式思路:通过款式调出所有相关单据号;再通过单据号找到所有的款式,并进行统计。

50勇士共有map、unique、lambda、filter、isnumber、xmatch、groupby、counta、textjoin、index10个函数参与。

来源:热腾白开

相关推荐