=IF({1,0},BYROW($A$3:$D$6,LAMBDA(x,CONCAT(x))),E3:E6)
以行为单位,将同行内各个数据通过CONCAT连接在一起,再嵌套if{1,0},创建一个数组,后面就可以再嵌套VLOOKUP等。
=HSTACK(A2:A4,BYROW(B2:K4,COUNTA))
=SUM(BYROW(CHOOSECOLS(A1:E5,SEQUENCE(3,1,1,2)),PRODUCT))
先用CHOOSECOLS函数结合SEQUENCE函数提取数据区域中的第1,3,5列,然后嵌套BYROW函数进行PRODUCT聚合运算,最后汇总。
=BYCOL(FILTER($B$1:$K$7,$A$1:$A$7=A12),LAMBDA(x,SUM(x)))
先根据A列的关键词在源数据中用FILTER函数进行筛选,然后嵌套BYCOL函数以列为单位进行SUM聚合运算。当然分类汇总是GROUPBY函数的强项,这里只是展示BYCOL函数的使用。
=GROUPBY(A1:A7,B1:K7,SUM,3,0)
=TRANSPOSE(VSTACK(A1:E1,BYCOL(A2:E6,SUM)))
=SUM(BYCOL(B3:F5,LAMBDA(x,IF(SUM(x)>0,1,0))))
=BYROW(A1:J3,LAMBDA(x,UNIQUE(x,1)))
然而结果显示错误,初步分析,本案例当中,第1行的结果为4列,第2行为3列,第3行为3列,因为数组的大小不匹配,所以会出错,那如果第1行,2行,3行返回的结果都是3列,总应该没有问题了吧?
=BYROW(A1:J3, LAMBDA(row, TEXTJOIN(",", TRUE, UNIQUE(row,1))))

