重复某个范围多次

问题描述 投票:0回答:2

我有一个简单的问题,但我不太能找出答案

给定一个范围(蓝色)和重复次数(橙色),我需要创建 2 个垂直溢出数组:

  • 第一个重复该范围所需的次数
  • 第二个重复范围中的每个元素所需的次数

我已经寻找了

REDUCE
VSTACK
的解决方案,但我不介意功能是否不同。

我尝试过,例如,

=LET(a, SEQUENCE(F2), REDUCE("",B5:B7,LAMBDA(x,y,VSTACK(x,y))))

...但范围不重复。

我做错了什么?

excel excel-formula repeat excel-lambda
2个回答
4
投票

对于第一个:

=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))))


0
投票

如果你知道重复的范围,我认为没有 lambda 函数会更简单......但这是主观的。

=INDEX(范围,MOD(SEQUENCE(COUNTA(范围)*number_times,,0),COUNTA(范围))+1) =INDEX(范围,SEQUENCE(COUNTA(范围)*number_times,,1,1/number_times))

如果你想要一个公式,只需将这两个公式叠加即可。

© www.soinside.com 2019 - 2024. All rights reserved.