ARRAYFORMULA с повторением - PullRequest
0 голосов
/ 26 мая 2020

У меня есть два столбца данных, и я хочу распределить элементы одного из этих столбцов по нескольким строкам. Я могу легко вычислить индекс нужного мне элемента, но не могу понять, как получить доступ к этому элементу. рассчитанный индекс?

Я пробовал =ARRAYFORMULA(IF(A:A, INDEX(B:B, CEILING(ROW(A:A)/3+1), 1), "")), но он повторяет только первый элемент (22) 7 раз.

1 Ответ

2 голосов
/ 26 мая 2020

Используйте Vlookup вместо индекса:

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

enter image description here

EDIT

Это не необходимо использовать ключевой столбец, вы можете использовать что-то вроде этого:

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

(все вышеперечисленное предполагает, что вы хотите игнорировать первую строку в столбце B и начинать с 22).

...