Olá pessoal. Essa é mais uma dica de post que chegou pelo nosso e-mail. Então se você tiver uma dúvida específica, é só mandar para [email protected]

Bom, o que o nosso amigo quer fazer é ter uma célula que retorne o último valor de um intervalo. Achamos a ideia superlegal e fizemos este post. Então pensamos que também seria legal se você pudesse achar não só o último valor, mas também o penúltimo, o 4ª, o 20º, etc.

Por isso trouxemos estes códigos. O primeiro deles é exclusivo para encontrar o último, e irá funcionar mesmo que você não saiba a quantidade de itens na referência e se adicionar ou remover itens adicionais. Já o segundo funciona desde que você sabia o número exato do item que deseja encontrar na listagem. Dadas as explicações, vamos aos códigos:

Encontrando o último valor

Com o nosso código a atualização será automática, ou seja, se você adicionar mais um valor abaixo de sua coluna (ou linha) a célula que informa o último valor será atualizada para este que você inseriu. Da mesma forma caso você remova o último valor ela também atualiza.

O código a ser inserido é =PROC(2;1/(NÚM.CARACT(A1:A100)>0);A1:A100), sendo o intervalo A1 ~ A100 o intervalo onde a fórmula irá fazer o monitoramento. Não esqueça de atualizar o intervalo às suas necessidades.

Ahh, esse código também funciona para letras e palavras.

Confira o exemplo na prática no GIF abaixo:

Encontrando qualquer posição

Agora digamos que você tenha uma lista com 75 entradas de valor e quer saber o 23º deles. Para isso vamos utilizar as fórmulas =Índice(), =Maior() e =Lin() ou =Col()

Confira alguns exemplos de fórmula para você pegar a lógica da coisa:

  • {=ÍNDICE(A1:A10;MAIOR((A1:A10<>"")*(LIN(A1:A10));3))} para retornar o 3º valor de TRÁS para a frente, ou seja o antepenúltimo
  • {=ÍNDICE(A1:A10;MAIOR((A1:A10<>"")*(LIN(A1:A10));10))} para retornar o 10º valor a partir do último 

Reparou que utilizamos a fórmula =Lin() no final? Pois é, isto significa que este código irá funcionar para encontrar valores que estiverem em uma COLUNA. Sim, você usára o Lin par abuscar em coluna e Col para buscar em uma linha. Cuidado para não se confundir. O código para buscar em coluna é esse:

  • {=ÍNDICE(A1:A10;MAIOR((A1:A10<>"")*(COL(A1:A10));6))} para retornar o 6º valor a partir do último
  • {=ÍNDICE(A1:A10;MAIOR((A1:A10<>"")*(COL(A1:A10));15))} para retornar o 15º valor a partir do último

As fórmulas atualizam automaticamente caso um valor do intervalo seja excluído e ignora as células em branco.

E alguns detalhers importantes:

  • Como estamos usando uma fórmula matricial, após você inseri-la no seu excel você tem que apertar a combinação de teclas Ctrl + Shift + Enter. Assim a fórmula ficará entre chaves e tudo dará certo, do contrário você reberá uma mensagem de erro. Para aprender mais sobre fórmulas matriciais clique aqui
  • As referências da fórmula SEMPRE deverão começar do início da linha ou coluna. Por exemplo. Caso a sua busca vá se referir ao intervalo A30:A35, na referência terá que ser indicado A1:A35 (repare na segunda imagem de exemplo, logo abaixo).

Agora sim, vamos às imagens exemplificando tudo.

Repare que urilliwi
Repare que utilizei a referência completa, desde o início da linha