У меня есть таблица, как показано ниже.Таблица обновляется время от времени, поэтому точное количество строк неизвестно:
+--+-------+-------------+
|a |red |1, 1, 1, |
+--+-------+-------------+
|b |green |2, 2, |
+--+-------+-------------+
|c |blue |3, |
+--+-------+-------------+
Мне нужно повторить каждую строку на основе COUNTA в столбце 3 следующим образом:
+--+-------+-------------+
|a |red |1 |
+--+-------+-------------+
|a |red |1 |
+--+-------+-------------+
|a |red |1 |
+--+-------+-------------+
|b |green |2 |
+--+-------+-------------+
|b |green |2 |
+--+-------+-------------+
|c |blue |3 |
+--+-------+-------------+
Я написал формулу, но для обеспечения достаточного количества строк мне нужно вручную добавить еще одну строку в эту формулу (рассмотрим столбцы E, F и G):
={
if(len(E2)>0,{
transpose(split(rept(E2&"****",COUNTA(split(G2,", "))),"****")),transpose(split(rept(F2&"****",COUNTA(split(G2,", "))),"****")),TRANSPOSE(split(G2,", "))}
,{"","",""});
if(len(E3)>0,{
transpose(split(rept(E3&"****",COUNTA(split(G3,", "))),"****")),transpose(split(rept(F3&"****",COUNTA(split(G3,", "))),"****")),TRANSPOSE(split(G3,", "))}
,{"","",""});
if(len(E4)>0,{
transpose(split(rept(E4&"****",COUNTA(split(G4,", "))),"****")),transpose(split(rept(F4&"****",COUNTA(split(G4,", "))),"****")),TRANSPOSE(split(G4,", "))}
,{"","",""});
if(len(E5)>0,{
transpose(split(rept(E5&"****",COUNTA(split(G5,", "))),"****")),transpose(split(rept(F5&"****",COUNTA(split(G5,", "))),"****")),TRANSPOSE(split(G5,", "))}
,{"","",""})
}
и т. Д.
Пример листа .
Синус точное число строк не известно, я хотел быпреобразовать это в ARRAYFORMULA для строк 2-1000.
Возможно ли это вообще?Если да, какова будет формула?Спасибо!