Повторите ряд в зависимости от количества - PullRequest
1 голос
/ 14 мая 2019

У меня есть таблица данных, отформатированная как:

+--------------+------+----------+
| Manufacturer | Item | Quantity |
+--------------+------+----------+

Мне нужно перестроить это так, чтобы у каждого элемента была своя строка так:

+--------------+------+----------+
| Manufacturer | Item | Quantity |
+--------------+------+----------+
| Coca Cola    | Coke |       4  |
+--------------+------+----------+

становится:

+--------------+------+
| Manufacturer | Item |
+--------------+------+
| Coca Cola    | Coke |
| Coca Cola    | Coke |
| Coca Cola    | Coke |
| Coca Cola    | Coke |
+--------------+------+

Я написал это, что работает для одной строки из исходной таблицы:

=split(transpose(split(rept(Join("|",A5:B5)&"$$", C5),"$$")),"|")

Но я не уверен, как расширить это на всю таблицу. Делаем это:

=arrayformula(split(transpose(split(rept(Join("|",A5:B)&"$$", C5:C),"$$")),"|"))

.. просто выдает ошибку

Диапазон JOIN должен состоять из одной строки или одного столбца.

Любая помощь будет высоко ценится

1 Ответ

1 голос
/ 14 мая 2019
=ARRAYFORMULA(SPLIT(TRANSPOSE(SPLIT(JOIN(",", REPT(SPLIT(
 INDIRECT("A1:A"&COUNTA(A1:A))&"♦"&
 INDIRECT("B1:B"&COUNTA(B1:B)), ",")&",", 
 INDIRECT("C1:C"&COUNTA(C1:C)))), ",")), "♦"))

0

...