BUSCARV y BUSCARH son las dos funciones de búsqueda clásicas de Excel. Sirven para encontrar un dato dentro de una tabla y traer otro dato que está en la misma fila (BUSCARV, en inglés VLOOKUP) o en la misma columna (BUSCARH, en inglés HLOOKUP). Con este tutorial aprenderás a escribirlas, verás cada uno de sus cuatro argumentos sobre un ejemplo real y sabrás arreglarlas cuando devuelven #N/A. Funcionan en todas las versiones de Excel de escritorio desde 2007 y también en Excel para la web y para Mac.
Qué resuelve BUSCARV y BUSCARH en tu hoja
Imagina una tienda con dos hojas: una con el inventario (código, producto y precio en vertical) y otra con las ventas de cada mes (meses en la primera fila y las ventas de un producto debajo). En la hoja de pedidos necesitas escribir el código y que Excel te devuelva el nombre y el precio; en la hoja de ventas necesitas escribir el mes y que Excel te devuelva la cifra de ese mes.
BUSCARV resuelve el primer caso: busca un valor en la primera columna de una tabla y devuelve el dato que está a su derecha, en la misma fila. BUSCARH resuelve el segundo: busca un valor en la primera fila de una tabla y devuelve el dato que está debajo, en la misma columna. La diferencia está en cómo están ordenados los datos: en vertical o en horizontal.
Las dos necesitan que el dato a buscar esté en la primera columna o en la primera fila de la tabla, y las dos devuelven siempre un único valor. Cuando tengas las dos opciones sobre la mesa, elige la que coincida con la forma de tu tabla.
Cómo se escribe BUSCARV: sus cuatro argumentos
La sintaxis es =BUSCARV(valor_buscado;matriz_buscar_en;indicador_columnas;[ordenado]). Busca en la primera columna del rango y devuelve un valor que está a la derecha, en la misma fila. Cada argumento tiene un papel concreto.
=BUSCARV(E2;Productos!$A$2:$C$5;3;FALSO)
valor_buscado: lo que Excel tiene que encontrar
Es el dato que Excel buscará en la primera columna del rango. Puede ser una celda (E2), un número (102) o un texto entre comillas ("Lápiz"). Lo importante es que el valor escrito aquí coincida con lo que hay en esa primera columna.
=BUSCARV(E2;Productos!$A$2:$C$5;2;FALSO)
matriz_buscar_en: la tabla donde busca
Es el rango de celdas donde están los datos, con los encabezados incluidos o no. Un rango de tres columnas como A2:C6 tiene la clave en la primera columna y los datos a devolver en la segunda y la tercera. Si vas a copiar la fórmula, fija el rango con $ ($A$2:$C$6).
=BUSCARV(E2;Productos!$A$2:$C$5;2;FALSO)
indicador_columnas: qué columna devuelve
Es el número de columna dentro del rango, contando desde la primera. 2 devuelve la segunda columna del rango, 3 la tercera, y así. Si pides la columna 5 sobre un rango de 3, sale el error #¡REF!.
=BUSCARV(E2;Productos!$A$2:$C$5;2;FALSO)
[ordenado]: FALSO casi siempre
El cuarto argumento decide si la coincidencia es exacta o aproximada. FALSO (o 0) busca una coincidencia exacta y es lo que usarás el 99% de las veces. VERDADERO (o 1) hace una búsqueda aproximada y exige la tabla ordenada de menor a mayor, además de devolver un valor incorrecto sin avisar si te equivocas de orden.
=BUSCARV(E2;Productos!$A$2:$C$5;2;FALSO)
VERDADERO. Si tu tabla no está ordenada, Excel devuelve el dato equivocado en silencio, sin mostrar error.Cómo se escribe BUSCARH: los mismos cuatro argumentos
La sintaxis es =BUSCARH(valor_buscado;matriz_buscar_en;indicador_filas;[ordenado]). Hace lo mismo que BUSCARV pero girado 90 grados: busca en la primera fila del rango y devuelve el valor que está hacia abajo, en la misma columna.
=BUSCARH(B5;B1:M2;2;FALSO)
valor_buscado y matriz_buscar_en
El dato a buscar va en la primera fila del rango (los encabezados) y el rango incluye los encabezados más las filas de datos. Si los meses están en B1:M1 y las ventas en B2:M2, el rango es B1:M2 y la celda a buscar es B5.
=BUSCARH(B5;B1:M2;2;FALSO)
indicador_filas: qué fila devuelve
Es el número de fila dentro del rango, contando desde la primera. 2 devuelve la segunda fila del rango, 3 la tercera, y así. En el ejemplo, la fila 2 son las ventas, que es justo lo que queremos traer.
=BUSCARH(B5;B1:M2;2;FALSO)
BUSCARV sobre la base de un inventario pequeño
Vamos a usar una hoja llamada Productos con cuatro artículos: los códigos van en la columna A, los nombres en la B y los precios en la C. En otra hoja escribiremos un código en E2 y BUSCARV nos devolverá el nombre en F2 y el precio en G2.
| A | B | C | |
|---|---|---|---|
| 1 | Código | Producto | Precio |
| 2 | 101 | Lápiz | 1,50 |
| 3 | 102 | Cuaderno | 3,20 |
| 4 | 103 | Goma | 0,80 |
| 5 | 104 | Bolígrafo | 1,10 |
- Crea una hoja llamada
Productosy copia la tabla anterior. - En otra hoja, escribe
102en la celdaE2. - En F2 escribimos la fórmula que trae el nombre del producto.
- En
G2escribimos la misma fórmula cambiando el indicador de columna a3para traer el precio.
Traer el nombre y el precio con una fórmula en cada celda
La fórmula de F2 busca el código de E2 en la primera columna del rango y devuelve lo que hay en la segunda columna del rango, que es el nombre. La de G2 es igual pero con 3 para traer el precio.
=BUSCARV(E2;Productos!$A$2:$C$5;2;FALSO)
=BUSCARV(E2;Productos!$A$2:$C$5;3;FALSO)
| E | F | G | |
|---|---|---|---|
| 1 | Código | Producto | Precio |
| 2 | 102 | Cuaderno | 3,20 |
Cuaderno y en G2 debe aparecer 3,20. Si ves #N/A, repasa que el código de E2 coincide exactamente con uno de la columna A y que el rango va de A2 a C5.Copiar el nombre para varios códigos seguidos
Si tienes varios pedidos seguidos, no hace falta escribir la fórmula en cada fila: la copias hacia abajo con el controlador de relleno. Como el rango lleva los símbolos $, se queda fijo mientras la celda E2 se convierte en E3, E4, etc.
- Selecciona F2.
- Arrastra el controlador de relleno (el cuadradito de la esquina inferior derecha) hasta F5.
- Repite el arrastre desde
G2hastaG5para los precios.
| E | F | G | |
|---|---|---|---|
| 1 | Código | Producto | Precio |
| 2 | 101 | Lápiz | 1,50 |
| 3 | 103 | Goma | 0,80 |
| 4 | 104 | Bolígrafo | 1,10 |
| 5 | 102 | Cuaderno | 3,20 |
$ lo fijan.BUSCARH sobre la base de ventas por mes
Ahora vamos con la otra forma: una hoja Ventas donde los meses están en horizontal. En B1:M1 van los nombres de los meses y en B2:M2 van las ventas de un producto. Escribimos el mes que nos interesa en B5 y BUSCARH nos devuelve la cifra en C5.
| B | C | D | E | F | G | H | I | J | K | L | M | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Ene | Feb | Mar | Abr | May | Jun | Jul | Ago | Sep | Oct | Nov | Dic |
| 2 | 1200 | 1450 | 1380 | 1620 | 1750 | 1580 | 1690 | 1820 | 1750 | 1900 | 2050 | 2200 |
- En la misma hoja
Ventas, escribeMaren la celdaB5. - En
C5escribimos la fórmula con BUSCARH. - Si quieres varios meses, escribimos más meses en
B6,B7… y copiamos la fórmula hacia abajo.
Traer la venta del mes escrito en B5
La fórmula busca el texto de B5 en la primera fila del rango B1:M2 y devuelve lo que hay en la segunda fila del rango, que son las ventas.
=BUSCARH(B5;B1:M2;2;FALSO)
| A | B | C | |
|---|---|---|---|
| 4 | |||
| 5 | Mes | Mar | 1380 |
C5 debe aparecer 1380, que es la venta de marzo. Si escribes May en B5, el resultado pasa a ser 1750 automáticamente.Comparar el resultado con BUSCARV sobre la misma tabla
Sobre los mismos datos, BUSCARV también puede traer el dato, pero contando columnas. Como marzo es la tercera columna del rango, la fórmula equivalente es esta:
=BUSCARV(B5;B1:M2;3;FALSO)
Funciona, pero tiene un problema claro: para encontrar marzo hay que contar tres columnas; para encontrar diciembre, doce. Con BUSCARH siempre es 2, porque lo que quieres está en la segunda fila. Cuando los datos están en horizontal, BUSCARH es el camino corto.
Por qué BUSCARV devuelve #N/A (y cómo arreglarlo)
El error #N/A significa "no disponible": la función no encuentra lo que le pides. En la hoja de inventario, las tres causas reales son las siguientes.
El valor no está o está mal escrito
Si pides el código 105 y la tabla solo llega hasta el 104, BUSCARV devuelve #N/A. Lo correcto es avisar al usuario de que ese código no existe, envolviendo la fórmula con SI.ND (en inglés IFNA), que desde Excel 2013 sustituye el error por el texto que le digas.
=SI.ND(BUSCARV(E2;Productos!$A$2:$C$5;2;FALSO);"No existe")
Espacios de más o número guardado como texto
Si en la columna A tienes 102 y en E2 escribes "102 " con un espacio al final, BUSCARV no los considera iguales. La función ESPACIOS (en inglés TRIM) recorta los espacios sobrantes al principio y al final. Puedes anidarla dentro de BUSCARV o aplicarla antes a la celda E2.
=BUSCARV(ESPACIOS(E2);Productos!$A$2:$C$5;2;FALSO)
VALOR o el comando de la cinta Datos > Herramientas de datos > Texto en columnas lo arreglan.Falta FALSO y devuelve un dato equivocado
Si olvidas el cuarto argumento o pones VERDADADO por error, BUSCARV hace una búsqueda aproximada y devuelve el dato de otro producto sin avisar. Sobre la tabla de inventario, pedir el código 102 puede devolver el precio del 103 sin que aparezca ningún error.
FALSO al final. Es la forma de que Excel solo devuelva resultado cuando el dato existe y es exactamente el que pides.Cuándo conviene BUSCARX en lugar de BUSCARV o BUSCARH
BUSCARV y BUSCARH tienen tres límites que se notan enseguida en el trabajo del día a día. BUSCARV solo busca en la primera columna y devuelve hacia la derecha, así que no puede devolver un dato que esté a la izquierda del código. BUSCARH solo busca en la primera fila y devuelve hacia abajo, igual de limitado en horizontal. Los dos, además, obligan a contar columnas o filas a mano y se rompen si insertas una columna en medio: el 3 que pusiste sigue siendo 3 aunque ahora sea otra cosa.
Lo que BUSCARX sí hace y los otros no
BUSCARX (en inglés XLOOKUP) existe desde Excel 2021, está también en Excel 2024, en Microsoft 365 y en Excel para la web. En Excel 2019 o 2016 al escribirla sale el error #¿NOMBRE?. Sus ventajas: busca en cualquier dirección (también hacia la izquierda), no se rompe al insertar columnas y trae de serie un argumento para el caso de "no se encuentra".
=BUSCARX(E2;Productos!$A$2:$A$5;Productos!$C$2:$C$5;"No existe")
En el ejemplo anterior, BUSCARX devuelve el precio del código de E2 o el texto No existe si no lo encuentra, sin necesidad de envolver la fórmula con SI.ND. Para búsquedas nuevas, si tu Excel lo soporta, BUSCARX es el camino más limpio.
Lo que ya sabes hacer con BUSCARV y BUSCARH
- BUSCARV busca en la primera columna de una tabla y devuelve un valor a la derecha, en la misma fila.
- BUSCARH busca en la primera fila de una tabla y devuelve un valor abajo, en la misma columna.
- El cuarto argumento casi siempre es
FALSO, para que la coincidencia sea exacta y no aproximada. - Cuando sale
#N/A, el dato no existe, hay espacios de más o un número guardado como texto; se envuelve conSI.NDpara mostrar un mensaje.
El siguiente paso es probar BUSCARX: hace lo mismo con menos limitaciones y te ahorra contar columnas a mano.
Datos comprobados en octubre de 2026.
Dudas al usar BUSCARV y BUSCARH
1. ¿Qué diferencia hay entre BUSCARV, BUSCARH y BUSCARX?
BUSCARV (VLOOKUP) busca un valor en la primera columna de un rango y devuelve datos de una columna a la derecha; BUSCARH (HLOOKUP) hace lo mismo pero por filas, útil cuando los datos están colocados horizontalmente. BUSCARX (XLOOKUP), disponible desde Excel 2021 y Microsoft 365, busca en cualquier dirección, permite indicar qué devolver si no encuentra el dato y no obliga a que la columna buscada sea la primera.
2. ¿Cómo usar BUSCARV para buscar datos que están en otra hoja del mismo libro?
La sintaxis es la misma que en una sola hoja, solo cambia el primer argumento: en lugar de un rango como A2:D100, escribes el nombre de la hoja seguido de un signo de exclamación y el rango, así: =BUSCARV(A2;Hoja2!A2:D100;3;FALSO). Esto le indica a Excel que la tabla está en Hoja2 y que devuelva la tercera columna de ese rango.
3. ¿Cómo se usa la función BUSCARV en Excel con un ejemplo paso a paso?
Imagina una lista con códigos en A2:A10 y precios en B2:B10; para traer el precio del código escrito en D2 escribes en E2 la fórmula =BUSCARV(D2;A2:B10;2;FALSO). El 2 indica que quieres la segunda columna del rango y FALSO obliga a buscar una coincidencia exacta, de modo que si D2 contiene el código 105, E2 mostrará su precio.
4. ¿Cómo escribir una fórmula BUSCARV que tome datos de otra hoja?
La clave está en anteponer el nombre de la hoja y un signo de exclamación al rango de la tabla: =BUSCARV(A2;Productos!A2:C500;3;FALSO). Si el nombre de la hoja contiene espacios, enciérralo entre comillas simples, por ejemplo =BUSCARV(A2;'Lista de precios'!A2:C500;3;FALSO); el último argumento FALSO garantiza coincidencia exacta.
5. ¿Para qué sirve la función BUSCARH en Excel y cuándo se usa?
BUSCARH (HLOOKUP) busca un valor en la primera fila de un rango horizontal y devuelve un dato de las filas inferiores. Se usa cuando los encabezados están en la parte superior y los datos crecen hacia abajo por columnas, algo típico en tablas con meses como campos; su sintaxis es =BUSCARH(valor_buscado;rango;número_de_fila;FALSO).
6. ¿Qué es la función BUSCARX y en qué se diferencia de BUSCARV?
BUSCARX (XLOOKUP) es la sucesora moderna de BUSCARV y está disponible desde Excel 2021 y Microsoft 365. A diferencia de BUSCARV, no necesita que el valor buscado esté en la primera columna, permite buscar tanto hacia la derecha como hacia la izquierda, y acepta un valor predeterminado para cuando no haya coincidencia, evitando errores con #N/A.
7. ¿Cómo se llama la función BUSCARV en inglés?
En inglés la función se llama VLOOKUP, abreviatura de "Vertical Lookup" (búsqueda vertical), y mantiene los mismos cuatro argumentos en el mismo orden. Así, la fórmula =BUSCARV(A2;B2:D100;3;FALSO) se escribe en un Excel en inglés como =VLOOKUP(A2,B2:D100,3,FALSE), cambiando punto y coma por coma y FALSO por FALSE.
Fuentes
- Microsoft¿Cómo usar BUSCARV y BUSCARH en Excel para buscar datos …consultado el 07/10/2026
- MicrosoftBUSCARH — documentación oficialconsultado el 07/10/2026
- MicrosoftBUSCARV — documentación oficialconsultado el 07/10/2026
- MicrosoftBUSCARX — documentación oficialconsultado el 07/10/2026
- Microsoft#N/A — documentación oficialconsultado el 07/10/2026