繁体   English   中英

带有重复的 ARRAYFORMULA

[英]ARRAYFORMULA with repetition

我有两列数据,并希望将其中一列的元素分布在几行中。 我可以轻松计算所需元素的索引,但无法弄清楚如何访问该元素。

A    B   Desired output  Formula for index: =ARRAYFORMULA(IF(A:A,CEILING(ROW(A:A)/3+1),""))
1    11       22                  2
2    22       22                  2
3    33       22                  2
4    44       33                  3
5             33                  3
6             33                  3
7             44                  4

如何修改我的索引公式,以便它在计算的索引处生成 B 列的项目?

我试过=ARRAYFORMULA(IF(A:A, INDEX(B:B, CEILING(ROW(A:A)/3+1), 1), ""))但这只会重复第一个元素 (22) 7 次.

使用 Vlookup 代替索引:

=ARRAYFORMULA(IF(A:A,vlookup(CEILING(ROW(A:A)/3+1),A:B,2),""))

在此处输入图像描述

编辑

没有必要使用键列,您可以使用如下内容:

=ARRAYFORMULA(vlookup(CEILING(sequence(counta(B:B)*3)/3+1),{row(B:B),B:B},2))

假设您想为 B 列中的每个非空白行生成三行,不包括第一行。

或者,如果您想与众不同,请使用连接/拆分方法:

=ArrayFormula(flatten(split(rept(filter(B:B,B:B<>"",row(B:B)>1)&"|",3),"|")))

(以上所有假设您想忽略 col B 中的第一行并从 22 开始)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM