Encontrar o último valor não vazio de uma coluna com a função LOOKUP (Proc)
Encontrar o valor da última célula não vazia de uma lista.
Ideias Chave
1. Encontrar valores que cumpram determinadas características.
1. Encontrar valores que cumpram determinadas características.
Problema
Como podemos encontrar o valor da última célula não vazia de uma lista.=PROC(2;1/(B:B<>"");B:B)
A solução que propomos
;B:B) // devolve o valor encontrado na coluna B(B:B<>"") // procura células vazias na coluna B
Células vazias correspondem a Falso e células preenchidas correspondem a Verdadeiro:
FALSO;VERDADEIRO;VERDADEIRO;VERDADEIRO;VERDADEIRO;VERDADEIRO;VERDADEIRO;VERDADEIRO;VERDADEIRO;VERDADEIRO;VERDADEIRO;VERDADEIRO;VERDADEIRO;VERDADEIRO;VERDADEIRO;FALSO;VERDADEIRO;VERDADEIRO;FALSO...}
Dividimos por 1:
1/{0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;0...} // sabemos que Verdadeiro é igual a 1 e Falso é igual a 0
E o resultado será:
{#DIV/0!;1;1;1;1;1;1;1;1;1;1;1;1;1;1;#DIV/0!;1;1;#DIV/0!...} // dividir por 0 dá erro, ou seja, acabamos com uma lista de 1's e erros #DIV/0
=PROC(2; // definimos que o valor a procurar é 2 e assim a fórmula correrá a coluna até ao fim, porque nunca encontrará um 2. Esta função ignora erros. Assim, ao chegar ao fim da coluna o resultado que nos irá devolver, será a última célula igual a 1
Nota: No exemplo estamos a procurar na coluna B, usando B:B, porque é um exemplo controlado. É sempre melhor para que a função não se torne demasiado lenta definir um intervalo mais curto, que neste caso seria B2:B17
Resumindo...
A Função PROC (Lookup) ignora erros, os #DIV/0! serão ignorados.Estamos propositadamente a dizer ao Excel que procure por 2 numa lista de 1s.
A listagem não terá nunca valores superiores a 1, portanto a fórmula corre até ao fim e devolve o último 1 que encontrou.
Procurar o valor da coluna correspondente
=PROC(2;1/(B:B<>"");D:D)
Temos apenas que substituir a localização da coluna cujos dados queremos sejam devolvidos:;D:D) // devolve o valor encontrado na coluna D. O último valor da Coluna B é Rui e a fórmula devolve-nos o valor correspondente na coluna D: Brasil
Descargas
Descarrega aqui o ficheiro com os exemplos para encontrar o valor da última célula não vazia com a função LOOKUP (Proc)