
Fórmula genérica
=FILTER(rng,MOD(SEQUENCE(ROWS(rng)),n)=0)
Resumo
Para filtrar e extrair cada enésima linha, você pode usar uma fórmula baseada na função FILTER junto com MOD, ROW e SEQUENCE. No exemplo mostrado, a fórmula em F5 é:
=FILTER(data,MOD(SEQUENCE(ROWS(data)),3)=0)
onde os dados são o intervalo nomeado D5: D16. Com n codificado na fórmula como 3, a função FILTER retorna a cada 3ª linha nos dados.
Explicação
A função FILTER foi projetada para filtrar e extrair informações com base em critérios lógicos. Neste exemplo, o objetivo é extrair cada terceiro registro dos dados mostrados, mas não há informações de número de linha nos dados.
Trabalhando de dentro para fora, a primeira etapa é gerar um conjunto de números de linha. Isso é feito com a função SEQUENCE assim:
SEQUENCE(ROWS(data))
A função ROW retorna a contagem de linhas nos dados do intervalo nomeado . Usando a contagem de linhas, SEQUENCE retorna uma matriz de 12 números em sequência:
(1;2;3;4;5;6;7;8;9;10;11;12)
Essa matriz é retornada diretamente para a função MOD como o argumento de número, com o número 3 codificado como divisor. O MOD é configurado para testar se os números das linhas são divisíveis por 3 com um resto de zero
MOD(SEQUENCE(ROWS(data)),3)=0 // divisible by 3?
O resultado do MOD é uma matriz ou valores TRUE e FALSE como este:
(FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE)
Nota Valores TRUE correspondem a cada 3ª linha nos dados. Essa matriz é entregue diretamente à função FILTER como o argumento de inclusão. FILTER retorna cada 3ª linha de dados como resultado final.