Dentre as funções supra citadas, qual é a melhor?
PROC()
Vantagens:
- Estupidamente mais rápido que todas as alternativas
- Permite buscar tanto na horizontal qto na vertical
- Permite buscar da esquerda pra direita ou da direita pra esquerda, de baixo pra cima e de cima pra baixo
- Basta apontar duas matrizes com mesmo número de elementos, não importando sua orientação
Desvantagem:
- Quando não encontra algo, pode retornar #N/D ou um valor errado
- Precisa necessariamente que os dados debusca estejam classificados em ordem crescente
PROCV()
Vantagens:
- Permite escolher entre fazer busca exata ou por aproximação
- É de fácil leitura
Desvantagens:
- É 1000 vezes mais lenta que o PROC()
- Permite somente buscas na primeira coluna à esquerda retornando qualquer coluna à direita
- Só funciona na vertical
PROCH()
Vantagens:
- Permite escolher entre fazer busca exata ou por aproximação
- É de fácil leitura
Desvantagens:
- É 1000 vezes mais lenta que o PROC()
- Permite somente buscas na primeira linha retornando qualquer linha abaixo
- Só funciona na horizontal
ÍNDICE/CORRESP
Vantagens:
- Permite buscas horizontais e verticais, em todos os sentidos
- Permite escolher entre fazer busca exata ou por aproximação
Desvantagens:
- É 1000 mais lenta que o PROC()
- É mais difícil leitura e entendimento
- Usa duas funções ao invés de uma *(portanto não sei o que é lento, o índice(), ou o corresp(), acho que o CORRESP(), mas é chute)
Cada pessoa pode considerar uma função melhor ou pior, baseado na sua necessidade. Se eu estiver procurando desempenho, e tenho a certeza que meus dados sempre são classificados, oras, o PROC() é a melhor opção.
Se eu quero de fato uma garantia que encontro o valor e não me preocupar com desempenho, as outras são melhores opções.
Se eu tenho certeza que a coluna da esquerda é sempre a coluna da busca, o PROCV() pode ser a melhor opção pq é mais fácil de ler e escrever e mais pessoas conhecem e podem dar manutenção.
Se eu preciso necessariamente buscar da direita pra esquerda, daí o PROCV() não atende, podemos usar o PROC() ou o ÍNDICE/CORRESP...
Enfim, o que é melhor pra você, pode não ser o melhor pro outro. É tudo muito relativo.
FF
Novidade! Evidência em vídeo:
https://www.youtube.com/watch?v=LA_WLEPjwWM
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 31/01/2017 8:43 am