【例】如下图所示,左侧是贷款明细表。我们需要根据日期生成每天的贷款行+金额表格,结果如右图所示。

分析:对于这种需要查找一对多结果并用逗号连接的情况,Vlookup显然不合适。即使使用filter、Textjoin等函数,也需要先提取所有不重复的日期(E列)。
而解决此类问题的一个简单方法是使用Groupby公式。
=GROUPBY(C1:C17,A1:A17&B1:B17,ARRAYTOTEXT,3,0)公式说明:ARRAYTOTEXT函数可以用逗号合并数组3表示显示标题行0是不显示汇总行。

如果希望按银行合并,可以使用以下公式:=GROUPBY(A1:A14,TEXT(C1:C14,/"M月D日/")&B1:B14,ARRAYTOTEXT,3,0,,A1:A14<>/"/")公式说明:因为日期连接文本后会被转换为数字,所以需要用text格式化成文本。

如果还想显示汇总,可以使用以下公式:=GROUPBY(C1:C17,HSTACK(A1:A17&B1:B17,B1:B17),HSTACK(ARRAYTOTEXT,SUM),3,0)公式说明:HSTACK可以将两个表格横向合并成新的多列数组。
