Как построить последовательность из 2 столбцов по n строк на основе диапазона значений col в паре с количеством раз, чтобы повторить значение

#google-sheets #google-sheets-formula

#google-sheets #google-sheets-формула

Вопрос:

Как построить последовательность из 2 столбцов по n строк на основе диапазона значений col в паре с количеством раз, чтобы повторить значение.

Также были бы хороши варианты для указания и начального индекса.

Значения будут =IMAGE(«url»), поэтому изображения должны работать при построении последовательности.

Определение

 Index | 1
----------
Value | NR
----------
img1  | 5
----------
img2  | 4
----------
img3  | 3
  

Желаемый результат (с начальным индексом 1)

 img1 | img1
-----------
img1 | img1
-----------
img1 | img2
-----------
img2 | img2
-----------
img2 | img3
-----------
img3 | img3
  

Желаемый результат (с начальным индексом 3)

      |     
-----------
     | img1
-----------
img1 | img1
-----------
img1 | img1
-----------
img2 | img2
-----------
img2 | img2
-----------
img3 | img3
-----------
img3 | 
  

Ответ №1:

Вот формула для случая, когда начальный индекс равен 1:

 =ArrayFormula(vlookup(sequence((sum(B2:B) 1)/2,2,0),{sumif(row(B2:B),"<="amp;row(B2:B),B2:B)-B2:B,A2:A},2))
  

введите описание изображения здесь

Идея состоит в том, чтобы найти значение, сгенерированное последовательностью (от 0 до 11) в совокупной сумме NR до предыдущей строки до соответствующего изображения.

Редактировать

Вот обновленная формула, позволяющая использовать начальный индекс> 1:

 =ArrayFormula(if(sequence((sum(B2:B) C2)/2,2,1)>=C2,vlookup(sequence((sum(B2:B) C2)/2,2,1)-C2,{sumif(row(B2:B),"<="amp;row(B2:B),B2:B)-B2:B,A2:A},2),""))
  

введите описание изображения здесь

Ответ №2:

Я добавил a 1 ко всем C2 вхождениям в формуле Тома только для того, чтобы добавленные пустые ячейки соответствовали index числу.

 =ArrayFormula(if(sequence((sum(B2:B) (C2 1))/2,2,1)>=(C2 1),vlookup(sequence((sum(B2:B) (C2 1))/2,2,1)-(C2 1),{sumif(row(B2:B),"<="amp;row(B2:B),B2:B)-B2:B,A2:A},2),""))
  

Работает отлично

Большое спасибо, Том!