我有一个简单的问题,但我不太能找出答案
给定一个范围(蓝色)和重复次数(橙色),我需要创建 2 个垂直溢出数组:
我已经寻找了
REDUCE
和VSTACK
的解决方案,但我不介意功能是否不同。
我尝试过,例如,
=LET(a, SEQUENCE(F2), REDUCE("",B5:B7,LAMBDA(x,y,VSTACK(x,y))))
...但范围不重复。
我做错了什么?
对于第一个:
=LET(r,FILTER(A:A,A:A<>""),cnt,B1,INDEX(r,MOD(SEQUENCE(COUNTA(r) *cnt,,0),COUNTA(r))+1))
第二个:
=LET(r,FILTER(A:A,A:A<>""),cnt,B1,INDEX(r,SEQUENCE(COUNTA(r) *cnt,,1,1/cnt)))
合二为一:
=LET(r,FILTER(A:A,A:A<>""),cnt,B1,INDEX(r,HSTACK(MOD(SEQUENCE(COUNTA(r) *cnt,,0),COUNTA(r))+1,SEQUENCE(COUNTA(r) *cnt,,1,1/cnt))))
如果你知道重复的范围,我认为没有 lambda 函数会更简单......但这是主观的。
=INDEX(范围,MOD(SEQUENCE(COUNTA(范围)*number_times,,0),COUNTA(范围))+1) =INDEX(范围,SEQUENCE(COUNTA(范围)*number_times,,1,1/number_times))
如果你想要一个公式,只需将这两个公式叠加即可。