问题:水平/垂直堆叠数组n-次数
示例:
不良解决方案:
这个问题很简单,手动只需向 VSTACK() 或 HSTACK() 公式提供 n 个数组即可。可以使用向量操作(例如 TOCOL() 和 TRANSPOSE())和 MAKEARRAY() 来创建“强力动态解决方案”,以创建所需大小的索引,然后将值索引到结构.
手动(水平):=HSTACK({"A", "B", "C"},{"A", "B", "C"},{"A", "B", "C"})
=VSTACK({"A", "B", "C"},{"A", "B", "C"})
=LET(Array,{"A","B","C"},n,3,INDEX(Array,MATCH(TOROW(SEQUENCE(COLUMNS(Array))*MAKEARRAY(1,n,LAMBDA(r,c,1)),0,TRUE),SEQUENCE(COLUMNS(Array)),0)))
=LET(Array,{"A","B","C"},n,2,INDEX(Array,MATCH(TRANSPOSE(SEQUENCE(COLUMNS(Array))*MAKEARRAY(1,n,LAMBDA(r,c,1))),SEQUENCE(COLUMNS(Array)),0)))
:水平/垂直堆叠的简洁公式解决方案,以 array 和 n 作为输入 - 也可能是方向(即 horizontal 或 vertical)。
={"A","B","C"}&EXPAND("",2,1,"")
水平堆叠3次:
=TOROW({"A","B","C"}&EXPAND("",3,1,""))