Este deve ser um bom ponto de partida:
Primeiro, você precisa de uma fórmula que repita um número N vezes antes de mudar para o próximo número (para usar em nossos índices mais tarde). É aqui que QUOTIENT
vem a usar: ele retorna toda a parte da operação de divisão.
Então, dividimos o índice da linha atual por N, 3 no meu exemplo:
QUOTIENT(ROW(B1),3))
Qual retorna 0,0,1,1,1,2,2,2 ...
( ROW(B1)
retorna o índice da célula B1, que é 1)
Agora, isso não está certo, já que precisamos que o primeiro elemento seja repetido 3 vezes, e não 2. É por isso que precisamos mudá-lo por um:
QUOTIENT(ROW(B1)-1,3))
Qual retorna 0,0,0,1,1,1,2,2,2 ...
Agora precisamos converter esses índices em valores de célula, e é aí que OFFSET()
entra em jogo. Leva
1) célula ponto inicial |
2) offset vertical
3) deslocamento horisontal
Se passarmos nossa primeira célula de valor, A1 (com o endereçamento absoluto usando $
, que impede que ela seja alterada quando você copiar essa fórmula), coloque o resultado da fórmula anterior como deslocamento vertical e 0 como deslocamento horizontal , isso dará o resultado da captura de tela.