Inverter a ordem de uma coluna com INDEX e ROWS (com vídeo)

Temos uma lista de itens numa Coluna e queremos inverter a ordem desses dados. O último item passar para a primeira posição e assim sucessivamente.

Resumo

Temos uma lista de dados numa coluna e queremos inverter a ordem desses dados. O último item passar para a primeira posição, o penúltimo para a segunda posição e assim sucessivamente. Não estão ordenados, pelo que não podemos usar filtros de ordenação pois não conhecemos o critério para o fazer.

O poder do Excel é que podemos resolver esta questão de diversas formas. Podemos automatizar um processo com Funções, podemos transformar com Power Query ou simplesmente criar uma coluna auxiliar que sirva de índice de ordenação. Neste artigo vamos apresentar uma solução que usa duas funções, ÍNDICE (Index) e LINS (Rows).

Experimenta outra solução para Inverter a ordem de uma coluna com INDIRETO, CONTAR.VAL e LIN (Indirect / Counta / Row)

Demonstração em vídeo

Conjugar as Funções ÍNDICE (Index) e LINS (Rows)

Inverter colunas com índice e lins
=ÍNDICE($C$5:$C$19;LINS(C5:$C$19))
A função principal desta fórmula será a função ÍNDICE(Index). Com ela vamos balizar o intervalo de linhas que queremos procurar e depois, usando a função LINS (Rows), identificar a linha que pretendemos extrair.

Começamos por definir o intervalo de linhas que queremos inverter, neste caso C5:C19 e fixamos com dois $ para que este intervalo se mantenha inalterado ao arrastar linhas.
=ÍNDICE($C$5:$C$19;
No segundo argumento da função ÍNDICE (Index) precisamos definir qual a linha que queremos extrair para inverter a ordem dos dados.

Na 1ª célula vamos indicar que queremos extrair a última linha. [Rui]

Na segunda célula indicamos que queremos devolver a penúltima célula dos dados originais. [Ricardo]

Até chegarmos à última célula em que pretendemos extrair o primeiro nome da lista de dados original. [Vera]

LINS(C5:$C$19))
Usamos então a função LINS (Rows) para gerar um count das linhas que irá alimentar a posição da linha a extra da função ÍNDICE (Index). O intervalo do nosso exemplo tem 15 linhas e que é o mesmo que dizer LINS(C5:C19) = [Rui].

Para conseguirmos extrair as restantes linhas basta-nos fixar o último elemento ($C$19) para que ao arrastar a fórmula apenas o primeiro elemento altere. E dessa forma temos:

C6:$C$19 = 14 = [Ricardo]

C7:$C$19 = 13 = [Carla]

até chegarmos a C19:$C$19 = 1 = [Vera]

E assim chegamos à nossa fórmula final em que usamos a função LINS (Rows) para completar o lookup que fazemos com a função ÍNDICE (Index).

=ÍNDICE($C$5:$C$19;LINS(C5:$C$19))
Para receberes directamente na tua caixa de correio os nossos artigos mais recentes sobre dicas e truques de Excel em português subscreve a nossa lista de emails!

Descargas

Descarrega aqui o ficheiro com os exemplos para inverter uma coluna com INDEX e ROWS