将每个值重复不同的次数。 Excel

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

有2列数据:

a 2
b 3
c 1

结果:

X01a
X02a
X01b
X02b
X03b
X01c

在 Google Sheets 中我使用公式:

=tocol(map(A2:A;B2:B;lambda(a;b;if(counta({a\b})<>2;;index("X"&text(sequence(1;b);"00")&a&"|"&b))));1)

在 Excel 中,此公式给出错误:#CALC!错误(嵌套数组)

如何在 Excel 中执行此操作?

在 Google 表格中将每个值重复不同次数

找到答案

我不明白如何根据我的目的调整这个公式。

=LET(Data,A2:A5,Repeats,B2:B5,
    Both,HSTACK(Data,Repeats),Filtered,FILTER(Both,Repeats>0),
    dData,TAKE(Filtered,,1),dStacked,VSTACK(dData,""),
    rData,TAKE(Filtered,,-1),rSequence,SEQUENCE(SUM(rData)),
    rStacked,VSTACK(0,rData),rScanned,SCAN(1,rStacked,LAMBDA(a,b,a+b)),
    rIndexes,MATCH(rSequence,rScanned),
Result,INDEX(dStacked,rIndexes),Result)

该公式将返回超过 250k 个结果。我希望它没有挂掉。 :)

使用额外的列找到答案。 是否有非 VBA Excel 溢出公式来创建和处理数组数组?

如何在没有额外列的情况下得到结果? 所有建议的方法返回:

a
a
b
b
b
c

我需要一个包含连续数字的结果。

1a
2a
1b
2b
3b
3c
excel excel-formula sequence
1个回答
0
投票

使用 MAKEEARRAY()

尝试以下公式


• 单元格中使用的公式 D1

=LET(
     α, A1:A3,
     φ, B1:B3,
     TOCOL(MAKEARRAY(ROWS(α),MAX(φ),LAMBDA(δ,ε,
     IF(ε<=INDEX(φ,δ),TEXT(ε,"X00")&INDEX(α,δ),p))),3))

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