Share via


Método WorksheetFunction.VLookup (Excel)

Busca un valor específico en la primer columna de una matriz de tabla y devuelve, en la misma fila, un valor de otra columna de dicha matriz de tabla.

Sintaxis

expresión. VLookup (Arg1, Arg2, Arg3, Arg4)

Expresión Variable que representa un objeto WorksheetFunction .

Parameters

Nombre Obligatorio/opcional Tipo de datos Descripción
Arg1 Obligatorio Variant Valor_buscado: el valor de búsqueda en la primera columna de la matriz de tabla. Valor_buscado puede ser un valor o una referencia. Si lookup_value es menor que el valor más pequeño de la primera columna de table_array, VLookup devuelve el valor de error #N/A.
Arg2 Obligatorio Variant Matriz_buscar_en: dos o más columnas de datos. Use una referencia para un rango o un nombre de rango. Los valores de la primera columna de matriz_buscar_en son los valores que busca valor_buscado. Estos valores pueden ser texto, números o valores lógicos. Texto en mayúscula y minúscula son equivalentes.
Arg3 Obligatorio Variant Indicador_columnas: el número de columna de matriz_buscar_en del que se debe devolver el valor coincidente. Un valor 1 de indicador_columnas devuelve el valor de la primera columna en matriz_buscar_en, un valor 2 devuelve el valor de la segunda columna en matriz_buscar_en, y así sucesivamente.
Arg4 Opcional Variant Range_lookup: valor lógico que especifica si desea que el método VLookup encuentre una coincidencia exacta o una coincidencia aproximada.

Valor devuelto

Variant

Comentarios

La V de VLookup significa vertical. Use el método BUSCARV en lugar del método BUSCARH cuando los valores de comparación se encuentran en una columna a la izquierda de los datos que quiere buscar.

Si el valor del argumento de indicador de columna es inferior a 1, el método VLookup da error.

Si el valor del argumento de indicador de columna es superior al número de columnas de la matriz de tabla, el método VLookup da error.

Si Range_lookup es True o se omite, se devuelve una coincidencia exacta o aproximada. Si no se encuentra una coincidencia exacta, se devolverá el siguiente valor mayor que sea menor que valor_buscado. Los valores de la primera columna de matriz_buscar_en deben colocarse en orden ascendente. En caso contrario, es posible que el método BUSCARV no devuelva el valor correcto.

Si Range_lookup es False, el método VLookup solo encontrará una coincidencia exacta. En este caso, no es necesario ordenar los valores de la primera columna de table_array. Si hay dos o más valores de la primera columna de matriz_buscar_en que coincidan con el valor_buscado, se usa el primer valor encontrado. Si no se encuentra una coincidencia exacta, se produce un error.

Al buscar valores de texto en la primera columna de table_array, asegúrese de que los datos de la primera columna de table_array no tengan espacios iniciales, espacios finales, uso incoherente de comillas rectas (' o ") y rizado ( o ) o caracteres no imprimibles. En estos casos, el método VLookup puede devolver un valor inesperado o incorrecto. Para obtener información sobre cómo limpiar o recortar valores, vea los métodos Clean y Trim.

Al buscar valores de fechas o números, asegúrese de que los datos de la primera columna de la matriz en la que buscar no se almacenan como valores de texto. En ese caso, el método VLookup puede devolver un valor incorrecto o inesperado.

Si range_lookup es False y lookup_value es texto, puede usar los caracteres comodín, el signo de interrogación (?) y el asterisco (*), en lookup_value. El símbolo de interrogación corresponde a cualquier carácter único, mientras que un asterisco corresponde a cualquier secuencia de caracteres. Si quiere buscar un asterisco o un signo de interrogación actual, escriba una tilde (~) antes del carácter.

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.