Это должно быть хорошей отправной точкой:
Во-первых, вам нужна формула, которая повторяла бы число N раз, прежде чем перейти к следующему числу (чтобы использовать в наших индексах позже). Вот где QUOTIENT
используется: он возвращает всю часть операции деления.
Таким образом, мы делим текущий индекс строки на N, 3 в моем примере:
QUOTIENT(ROW(B1),3))
Который возвращает 0,0,1,1,1,2,2,2 ...
( ROW(B1)
возвращает индекс ячейки B1, который равен 1)
Теперь это не правильно, так как нам нужно, чтобы первый элемент повторялся 3 раза, а не 2. Поэтому нам нужно сместить его на единицу:
QUOTIENT(ROW(B1)-1,3))
Который возвращает 0,0,0,1,1,1,2,2,2 ...
Теперь нам нужно преобразовать эти индексы в значения ячеек, и это то, что OFFSET()
нужно. Занимает
1) начальная точка ячейки
2) вертикальное смещение
3) горизонтальное смещение
Если мы передадим ей нашу первую ячейку значения, A1 (с использованием абсолютной адресации, $
которая предотвращает ее изменение при копировании этой формулы), и поместим результат предыдущей формулы в качестве вертикального смещения, а 0 в качестве горизонтального смещения, это даст результат со скриншота.