Fórmula do Excel: pesquisa à esquerda com VLOOKUP -

Fórmula genérica

=VLOOKUP(A1,CHOOSE((1,2),range2,range1),2,0)

Resumo

Para usar VLOOKUP para realizar uma pesquisa à esquerda, você pode usar a função CHOOSE para reordenar a tabela de pesquisa. No exemplo mostrado, a fórmula em F5 é:

=VLOOKUP(E5,CHOOSE((1,2),score,rating),2,0)

onde pontuação (C5: C9) e classificação (B5: B9) são intervalos nomeados.

Explicação

Uma das principais limitações da função VLOOKUP é que ela só pode pesquisar valores à direita. Em outras palavras, a coluna que contém os valores de pesquisa deve ficar à esquerda dos valores que você deseja recuperar com VLOOKUP. Não há como substituir esse comportamento, pois ele está conectado à função. Como resultado, com a configuração normal, não há como usar VLOOKUP para pesquisar uma classificação na coluna B com base em uma pontuação na coluna C.

Uma solução alternativa é reestruturar a própria tabela de pesquisa e mover a coluna de pesquisa para a esquerda dos valores de pesquisa. Essa é a abordagem usada neste exemplo, que usa a função CHOOSE reversa, classificação e pontuação assim:

CHOOSE((1,2),score,rating)

Normalmente, CHOOSE é usado com um único número de índice como o primeiro argumento e os argumentos restantes são os valores a serem escolhidos. No entanto, aqui fornecemos escolher uma constante de matriz para o número de índice contendo dois números: (1,2). Essencialmente, estamos pedindo para escolher o primeiro e o segundo valor.

Os valores são fornecidos como os dois intervalos nomeados no exemplo: pontuação e classificação. Observe, entretanto, que estamos fornecendo esses intervalos na ordem inversa. A função CHOOSE seleciona os dois intervalos na ordem fornecida e retorna o resultado como uma única matriz como esta:

(5,"Excellent";4,"Good";3,"Average";2,"Poor";1,"Terrible")

CHOOSE retorna esta matriz diretamente para VLOOKUP como o argumento da matriz da tabela. Em outras palavras, CHOOSE está entregando uma tabela de pesquisa como esta para VLOOKUP:

Usando o valor de pesquisa em E5, VLOOKUP localiza uma correspondência dentro da tabela recém-criada e retorna um resultado da segunda coluna.

Reordenando com a constante da matriz

No exemplo mostrado, estamos reordenando a tabela de pesquisa revertendo "classificação" e "pontuação" dentro da função escolhida. No entanto, poderíamos usar a constante de matriz para reordenar assim:

CHOOSE((2,1),rating,score)

O resultado é exatamente o mesmo.

Com INDEX e MATCH

Embora o exemplo acima funcione bem, não é o ideal. Por um lado, a maioria dos usuários comuns não entende como a fórmula funciona. Uma solução mais natural é INDEX e MATCH. Aqui está a fórmula equivalente:

=INDEX(rating,MATCH(E5,score,0))

Na verdade, este é um bom exemplo de como INDEX e MATCH são mais flexíveis do que VLOOKUP.

Artigos interessantes...