Menu

BUSCARV en Excel: cómo usar la función (VLOOKUP)

=BUSCARV(F2;A2:D6;3;FALSO) busca F2 en la primera columna de A2:D6 y devuelve el valor de la tercera columna de la misma fila. Coincidencia exacta y aproximada, cómo arreglar #N/A, otra hoja, dos criterios.

Todas las hojas de esta página están vivas: cambia un número o una fórmula y se recalculan.

=BUSCARV(F2;A2:D6;3;FALSO) busca el valor de F2 en la primera columna de A2:D6 y devuelve el valor de la tercera columna de la misma fila. FALSO al final significa "solo coincidencia exacta". Elige otro producto en F2 y el precio cambia. BUSCARV se llama VLOOKUP en inglés, y la tabla muestra la fórmula así: =VLOOKUP(F2,A2:D6,3,FALSE).

Precio de un producto
G2
ABCDEFG
1ProductCategoryPriceStockLook forPrice
2AppleFruit$1.2040Pear$1.50
3PearFruit$1.5025
4CarrotVegetable$0.8060
5BreadBakery$2.4015
6MilkDairy$1.1030
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.En Excel en español: =BUSCARV(F2;A2:D6;3;FALSO)

Haz clic en G2 para ver la tabla A2:D6 marcada. Cambia el 3 de la fórmula por un 2 y G2 devuelve la categoría en lugar del precio, porque Category es la segunda columna de la tabla. La búsqueda no distingue mayúsculas: pear encuentra Pear.

Sintaxis de BUSCARV

=VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])
ArgumentoQué esEn el ejemplo
lookup_valueEl valor que se busca.F2 (Pear)
table_arrayLa tabla en la que se busca. BUSCARV solo busca en su primera columna.A2:D6
col_index_numQué columna de la tabla se devuelve, contando desde la primera columna de la tabla (1).3 (Price)
range_lookupFALSO o 0 para una coincidencia exacta. VERDADERO, 1 o nada para una coincidencia aproximada.FALSO

El número de columna se cuenta desde el principio de la tabla, no desde la columna A de la hoja. En una tabla que empieza en la columna C, el col_index_num 2 es la columna D. Un número mayor que el ancho de la tabla devuelve #¡REF! (#REF! en inglés), y 0 devuelve #¡VALOR! (#VALUE! en inglés). La tabla de esta página muestra los nombres de error en inglés.

En Excel en español los argumentos se separan con punto y coma, =BUSCARV(F2;A2:D6;3;FALSO) (con la configuración regional de México, con comas), y las tablas de esta página aceptan las fórmulas escritas así.

Elegir la columna de retorno con COINCIDIR

Un 3 fijo se rompe sin avisar cuando alguien inserta una columna dentro de la tabla: la fórmula sigue devolviendo la tercera columna, que ahora contiene otra cosa. Deja que COINCIDIR (MATCH en inglés) encuentre el número de columna a partir del encabezado. Aquí G1 es una lista desplegable: elige Stock o Category y G2 la sigue.

Número de columna a partir del encabezado
G2
ABCDEFG
1ProductCategoryPriceStockLook forPrice
2AppleFruit$1.2040Carrot0.8
3PearFruit$1.5025
4CarrotVegetable$0.8060
5BreadBakery$2.4015
6MilkDairy$1.1030
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.En Excel en español: =BUSCARV(F2;A2:D6;COINCIDIR(G1;A1:D1;0);FALSO)

COINCIDIR(G1;A1:D1;0) devuelve la posición de "Price" en la fila de encabezados, 3, y BUSCARV la usa como número de columna: 0.8 para Carrot. En Excel en español la fórmula de G2 es =BUSCARV(F2;A2:D6;COINCIDIR(G1;A1:D1;0);FALSO). Es una búsqueda en dos direcciones: una fila elegida por producto y una columna elegida por encabezado. La misma idea escrita con INDICE (INDEX en inglés) en lugar de BUSCARV está en la página de INDICE y COINCIDIR.

Coincidencia aproximada: BUSCARV con VERDADERO

Con VERDADERO como último argumento, BUSCARV no busca un valor igual. Encuentra el mayor valor menor o igual que el valor buscado. Es lo que necesitas para tramos: tramos de impuestos, notas, tarifas de envío, niveles de comisión. La primera columna debe estar ordenada de menor a mayor.

Tasa de comisión según las ventas
F2
ABCDEF
1Sales fromRateRepSalesRate
200%Ana7500%
310003%Ben4,2003%
450005%Cara5,0005%
5100008%Dev12,5008%
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.En Excel en español: =BUSCARV(E2;$A$2:$B$5;2;VERDADERO)

Las ventas de Ben, 4,200, no están en la columna A. El mayor valor que no las supera es 1000, así que recibe el 3%. Las ventas de Cara, 5,000, coinciden exactamente con la fila de 5000 y recibe el 5%. Las de Dev, 12,500, superan el último tramo y reciben la última tasa, el 8%. Un valor por debajo del primer tramo (aquí, unas ventas negativas) devuelve #N/A, y por eso la tabla empieza en 0.

Los signos $ de $A$2:$B$5 mantienen la tabla en su sitio cuando F2 se copia hasta F5. Sin ellos, F3 buscaría en A3:B6 y se saltaría el primer tramo.

Omitir el cuarto argumento es lo mismo que VERDADERO. En una lista de productos sin ordenar es un error silencioso: Excel busca como si la lista estuviera ordenada y puede devolver el precio de otra fila, o #N/A para un valor que sí está. Cuando busques nombres, códigos o identificadores, termina siempre con FALSO.

Por qué BUSCARV devuelve #N/A

#N/A significa "no encontrado". La hoja de abajo muestra tres causas frecuentes, y la columna G repite cada búsqueda envuelta en SI.ND (IFNA en inglés) y ESPACIOS (TRIM en inglés).

Tres búsquedas que devuelven #N/A
F2
ABCDEFG
1ProductCategoryPriceStockLook forPriceFixed
2AppleFruit$1.2040Kiwi#N/ANot found
3PearFruit$1.5025Milk #N/A$1.10
4CarrotVegetable$0.8060Fruit#N/ANot found
5BreadBakery$2.4015
6MilkDairy$1.1030
#N/A El valor buscado no está en el rango de búsqueda.En Excel en español: =BUSCARV(E2;$A$2:$D$6;3;FALSO)
  1. El valor no está en la tabla. Kiwi no está en A2:A6. Es un "no encontrado" real, y SI.ND(...;"Not found") lo convierte en un texto legible. Cambia E2 a Apple y las dos columnas muestran el precio.
  2. Espacios de más. E3 contiene "Milk " con un espacio al final, así que no es igual a Milk. ESPACIOS(E3) lo quita y G3 encuentra el precio. Si los espacios están en la tabla, limpia la columna A con ESPACIOS una vez en lugar de hacerlo en cada búsqueda.
  3. El valor está en otra columna. Fruit existe, pero en la columna B. BUSCARV solo busca en la primera columna de la tabla, así que E4 falla en las dos columnas. Empieza la tabla en la columna en la que buscas, o usa BUSCARX (XLOOKUP en inglés), que recibe por separado la columna de búsqueda y la de retorno.

Usa SI.ND en lugar de SI.ERROR alrededor de una búsqueda. SI.ND solo captura #N/A, así que un #¡REF! por un número de columna equivocado sigue viéndose en lugar de quedar oculto como "Not found".

Dos causas más:

  • Números guardados como texto. Si la columna A tiene códigos de producto escritos como texto (a menudo tras una importación, con un pequeño triángulo verde en la esquina) y F2 contiene el número 101, =BUSCARV(F2;A2:B6;2;FALSO) devuelve #N/A aunque 101 aparezca en la lista. Convierte uno de los lados: =BUSCARV(F2&"";A2:B6;2;FALSO) busca el texto "101", y =BUSCARV(VALOR(F2);A2:B6;2;FALSO) busca un número cuando F2 es el texto.
  • Coincidencia aproximada con datos sin ordenar, descrita en la sección anterior.

BUSCARV devuelve 0 en lugar de una celda vacía

Cuando la celda a la que llega BUSCARV está vacía, Excel muestra 0, no una celda vacía. Un 0 en una columna Stock se lee entonces como "sin existencias" cuando en realidad el stock nunca se introdujo. Añade &"" a la fórmula, o comprueba la longitud del resultado:

=VLOOKUP(F2,A2:D6,4,FALSE)&""
=IF(LEN(VLOOKUP(F2,A2:D6,4,FALSE))=0,"",VLOOKUP(F2,A2:D6,4,FALSE))

En Excel en español: =BUSCARV(F2;A2:D6;4;FALSO)&"" y =SI(LARGO(BUSCARV(F2;A2:D6;4;FALSO))=0;"";BUSCARV(F2;A2:D6;4;FALSO)). La primera es más corta, pero convierte en texto cada número que devuelve, así que una SUMA posterior lo omite. La segunda mantiene los números como números.

BUSCARV desde otra hoja

Escribe el nombre de la hoja y ! delante de la tabla. Cuando construyes la fórmula en Excel, haz clic en la pestaña de la otra hoja y selecciona el rango: Excel escribe Prices!A2:B6 por ti. Aquí la pestaña Orders busca los precios en la pestaña Prices.

Pedidos con precios de la hoja Prices
D2
ABCDE
1OrderProductQtyPriceTotal
21001Pear3$1.50$4.50
31002Milk2$1.10$2.20
41003Apple5$1.20$6.00
51004Bread1$2.40$2.40
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.En Excel en español: =BUSCARV(B2;Prices!$A$2:$B$6;2;FALSO)

Abre la pestaña Prices y cambia el precio de Apple: el total del pedido se actualiza. Dos detalles:

  • Un nombre de hoja con espacios necesita comillas simples: =BUSCARV(B2;'Price list'!$A$2:$B$6;2;FALSO).
  • Una tabla de otro libro añade el nombre del archivo entre corchetes, [Prices.xlsx]Prices!$A$2:$B$6. Cuando ese archivo está cerrado, Excel muestra su ruta completa en la fórmula y la búsqueda sigue funcionando con el archivo guardado.

BUSCARV con comodines (coincidencia parcial)

Con FALSO, el valor buscado puede llevar comodines: * representa cualquier número de caracteres y ? exactamente uno. "*"&E2&"*" encuentra el primer producto cuyo nombre contiene el texto de E2.

Encontrar un producto por parte de su nombre
F2
ABCDEF
1ProductCategoryPriceContainsPrice
2Green teaDrinks$3.20coffee$2.90
3Iced coffeeDrinks$2.90
4Coffee beansPantry$8.50
5Black teaDrinks$2.70
6Orange juiceDrinks$3.40
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.En Excel en español: =BUSCARV("*"&E2&"*";A2:C6;3;FALSO)

"coffee" coincide con Iced coffee y con Coffee beans; BUSCARV devuelve el primero empezando por arriba, $2.90. Cambia E2 a bean para obtener $8.50, o a juice. Para buscar un asterisco o un signo de interrogación de verdad, pon una virgulilla (~) delante: "~*".

BUSCARV hacia la izquierda

BUSCARV no puede devolver una columna a la izquierda de la columna en la que busca: col_index_num solo cuenta hacia la derecha, y los números negativos dan error. Para encontrar el producto de un precio dado, busca en la columna C y devuelve la columna A con BUSCARX o con INDICE y COINCIDIR:

=XLOOKUP(2.4, C2:C6, A2:A6)              Excel 2021 and Microsoft 365
=INDEX(A2:A6, MATCH(2.4, C2:C6, 0))      every version

En Excel en español: =BUSCARX(2,4;C2:C6;A2:A6) y =INDICE(A2:A6;COINCIDIR(2,4;C2:C6;0)). Las dos devuelven Bread con los datos de la primera hoja. BUSCARX tiene la explicación completa.

Práctica: costo de envío según el peso

Tarifas de envío
E2
ABCDE
1Weight from (kg)CostWeight (kg)Cost
20$4.507
32$6.00
45$9.50
510$14.00
620$22.00
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.

Tu turno: Cada costo se aplica desde su peso hasta el siguiente peso de la lista. En E2, usa BUSCARV para devolver el costo de envío del peso del paquete de D2.

BUSCARV con dos criterios

BUSCARV recibe un solo valor buscado. Para buscar por dos columnas, crea una columna auxiliar que las una, ponla primera en la tabla y busca el mismo texto unido. La columna A de abajo es =B2&"-"&C2 copiada hacia abajo, así que contiene Coffee-Small, Coffee-Large y así sucesivamente.

Precio por producto y tamaño
G2
ABCDEFG
1KeyProductSizePriceProductSizePrice
2Coffee-SmallCoffeeSmall$2.50TeaLarge
3Coffee-LargeCoffeeLarge$3.50
4Tea-SmallTeaSmall$2.00
5Tea-LargeTeaLarge$3.00
6Juice-SmallJuiceSmall$3.00
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.

Tu turno: La columna A une el producto y el tamaño con un guion. En G2, devuelve el precio del producto de E2 y el tamaño de F2.

El separador importa: "Tea"&"Large" da TeaLarge, que no coincide con nada de la columna A. En Excel 2021 y Microsoft 365 puedes prescindir de la columna auxiliar con =BUSCARX(1;(B2:B6=E2)*(C2:C6=F2);D2:D6); buscar con varios criterios muestra eso y la versión con INDICE y COINCIDIR.

Preguntas frecuentes

¿Cómo hago un BUSCARV en Excel?

Escribe =BUSCARV( y da cuatro argumentos: el valor que buscas, la tabla (su primera columna debe contener ese valor), el número de la columna que quieres devolver y FALSO para una coincidencia exacta. =BUSCARV("Pear";A2:D6;3;FALSO) busca Pear en la columna A y devuelve el valor de la columna C de esa fila.

¿Qué significa VERDADERO o FALSO al final de BUSCARV?

FALSO (o 0) pide una coincidencia exacta y devuelve #N/A cuando el valor no está. VERDADERO (o 1, o no poner el argumento) pide una coincidencia aproximada: el mayor valor menor o igual que el valor buscado, que solo funciona si la primera columna está ordenada de menor a mayor.

¿Por qué mi BUSCARV devuelve #N/A?

El valor no se encontró en la primera columna de la tabla. Las causas habituales son una errata, un espacio de más ("Milk " no es "Milk"), un número guardado como texto en un solo lado, o un valor que está en otra columna. Envuelve la fórmula en SI.ND para mostrar tu propio texto: =SI.ND(BUSCARV(F2;A2:D6;3;FALSO);"Not found").

¿BUSCARV puede buscar hacia la izquierda?

No. BUSCARV solo devuelve columnas a la derecha de la primera columna de la tabla. Usa =BUSCARX(F2;C2:C6;A2:A6) en Excel 2021 o Microsoft 365, o =INDICE(A2:A6;COINCIDIR(F2;C2:C6;0)) en cualquier versión.

¿Cómo hago un BUSCARV desde otra hoja?

Pon el nombre de la hoja y un signo de exclamación delante del rango: =BUSCARV(B2;Prices!$A$2:$B$6;2;FALSO). Si el nombre de la hoja tiene un espacio, ponlo entre comillas simples: 'Price list'!$A$2:$B$6.

Ilustración de los lenguajes de programación de Coddy

Aprende a programar con Coddy

COMENZAR