excel函数技巧:vstack+map+filter实现多表合并查询-趣帮office教程网

如图,工作薄内有很多工作表,要对工作表内所有申请人的申请标段进行统计,公式如下:

=LET(x,VSTACK(标段1:标段4!A1:H20),

y,DROP(UNIQUE(INDEX(x,,2)),3),

HSTACK(y,MAP(y,LAMBDA(m,TEXTJOIN(",",1,FILTER(INDEX(x,,8),m=INDEX(x,,2))))))

)

公式思路:多表合并使用vstack函数,选择连续的多个工作表可以使用第一个工作表:最后一个工作表的形式,如果选择活动工作表外的所有工作表,可以使用‘*’!,效率更高。选择不连续的工作表要使用indirect函数。

y是得到合并后所人申请人的列表,

最后用MAP函数依据申请人的列表,用filter查询出其对应的所用标段,最后必须用textjoin结合起来,因为map数函数只能返回和目标数组大小相同的数组。