Método WorksheetFunction.VLookup (Excel)

Procura um valor na primeira coluna de uma matriz de tabela e retorna um valor na mesma linha de outra coluna da matriz da tabela.

Sintaxe

expressão. VLookup (Arg1, Arg2, Arg3, Arg4)

Expressão Uma variável que representa um objeto WorksheetFunction .

Parâmetros

Nome Obrigatório/Opcional Tipo de dados Descrição
Arg1 Obrigatório Variant Lookup_value - o valor a ser pesquisado na primeira coluna da matriz de tabela. Lookup_value pode ser um valor ou uma referência. Se lookup_value for menor que o menor valor na primeira coluna de table_array, o VLookup retornará o valor de erro #N/A.
Arg2 Obrigatório Variant Table_array - duas ou mais colunas de dados. Use uma referência para um intervalo ou um nome do intervalo. Os valores da primeira coluna da table_array são os valores pesquisados por lookup_value. Esses valores podem ser texto, números ou valores lógicos. Os textos em maiúsculas e em minúsculas são equivalentes.
Arg3 Obrigatório Variant Col_index_num - o número da coluna na table_array da qual o valor correspondente deverá ser retornado. Um col_index_num 1 retorna o valor na primeira coluna da table_array; um col_index_num 2 retorna o valor na segunda coluna da table_array e assim por diante.
Arg4 Opcional Variantes Range_lookup - um valor lógico que especifica se você deseja que o método VLookup encontre uma correspondência exata ou uma correspondência aproximada.

Valor de retorno

Variant

Comentários

O V de VLookup significa vertical. Use o método VLookup em vez do método HLookup quando seus valores de comparação estiverem localizados em uma coluna à esquerda dos dados que você deseja localizar.

Se Col_index_num for menor do que 1, o método VLookup gerará um erro.

Se Col_index_num for maior do que o número de colunas na table_array, o método VLookup gerará um erro.

Se Range_lookup for True ou omitido, uma correspondência exata ou aproximada será retornada. Se uma correspondência exata não for encontrada, o próximo valor maior que for menor do que o lookup_value será retornado. Os valores na primeira coluna da table_array deverão ser posicionados em ordem crescente; caso contrário, é possível que o método VLookup não ofereça o valor correto.

Se Range_lookup for False, o método VLookup só encontrará uma correspondência exata. Nesse caso, os valores na primeira coluna de table_array não precisam ser classificados. Se houver dois ou mais valores na primeira coluna da table_array que correspondam ao lookup_value, o primeiro valor encontrado será usado. Se uma correspondência exata não for encontrada, será gerado um erro.

Ao pesquisar valores de texto na primeira coluna de table_array, verifique se os dados na primeira coluna de table_array não têm espaços de liderança, espaços à direita, uso inconsistente de aspas retas (' ou ") e encaracoladas ( ou ) ou caracteres não impressão digital. Nesses casos, o método VLookup pode dar um valor incorreto ou inesperado. Para saber mais sobre como limpar ou cortar valores, veja os métodos Clean e Trim.

Ao pesquisar valores de número ou de data, verifique se os dados da primeira coluna da table_array não estão armazenados como valores de texto. Nesse caso, o método VLookup pode dar um valor incorreto ou inesperado.

Se range_lookup for False e lookup_value for texto, você poderá usar os caracteres curinga, o ponto de interrogação (?) e o asterisco (*), em lookup_value. Um ponto de interrogação corresponde a qualquer caractere único; um asterisco corresponde a qualquer sequência de caracteres. Se quiser localizar um ponto de interrogação ou um asterisco, digite um til (~) antes do caractere.

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.