excel函数技巧:reduce+textjoin+filter分类合并统计-趣帮office教程网

已知h列为所有水果列表,A列至B列为源数据,要将每个人的采购类型是水果的组合到一起,其他类型不进行组合,公式如下:

=REDUCE(A1:B1,TOCOL(A2:A33,3),LAMBDA(x,y,LET(

array,LOOKUP(ROW(A2:A33),ROW(A2:A33)/(A2:A33<>""),A2:A33),

fruit,TEXTJOIN("、",1,FILTER(B2:B33,(array=y)*(ISNUMBER(XMATCH(B2:B33,H1:H11))))),

other,FILTER(B2:B33,(array=y)*(ISERROR(XMATCH(B2:B33,H1:H11))),""),

new_array,VSTACK(HSTACK(y,other),HSTACK(y,fruit)),

new_array2,IFERROR(VSTACK(x,IFERROR(new_array,"")),""),

FILTER(q,INDEX(new_array2,,2)<>"")

)))

公式思路:本公式的主题结构为:reduce(filter(……由filter进行最后的过滤,筛选,去掉为空值的行。

显然filter并不是起到主要作用的行,起到主要作用的是前面的几个变量:

fruit,将水果类合并到一起,other,将非水果类的筛选出来。

new_array和new_array2起到合并到一起并对错误值进行修改的效果。

最后得到的new_array2才过滤掉空格。