Cuando en una hoja de Excel tienes una columna con códigos y en otra su información (precio, nombre, stock), escribir uno de esos códigos a mano y que Excel te devuelva el dato que le corresponde es justo lo que hace la función BUSCARV (en inglés VLOOKUP). En este tutorial vas a montar una hoja de pedidos real: una tabla con productos y precios, una columna donde escribes el código y otra donde Excel te escribe el precio solo. Al terminar sabrás escribir BUSCARV con sus cuatro argumentos, fijar la tabla con F4 para copiar la fórmula sin que se rompa, controlar el error #N/A con SI.ND y, si tu Excel es 2021 o Microsoft 365, dar el salto a BUSCARX.
BUSCARV está en todas las versiones de Excel desde 2007, también en Excel para la web y en Excel para Mac. Las funciones complementarias que se ven aquí (SI.ND, ESPACIOS, SUSTITUIR, INDICE, COINCIDIR) también están en esas versiones. BUSCARX aparece más adelante, desde Excel 2021, 2024 y Microsoft 365.
Qué significa "buscar un valor" y por qué BUSCARV (VLOOKUP) sigue siendo la función clave
Imagina la hoja de pedidos de una tienda. En la columna A tienes los códigos de los productos (A-01, A-02…), en la B el nombre del producto y en la C el precio. Cuando alguien te pide tres unidades del A-03, no quieres ir hoja arriba y hoja abajo con la vista hasta encontrarlo: quieres escribir el código en una celda y que el precio aparezca solo.
Eso es, literalmente, "buscar un valor": Excel recibe un dato (el código), lo busca en la primera columna de una tabla y te devuelve lo que hay en otra columna de esa misma fila. La función que hace eso desde hace décadas es BUSCARV, y sigue siendo la más usada porque está en todas las versiones y resuelve el 80 % de los casos.
La idea es esta: la tabla de productos es la base de datos; la columna de códigos es la llave que BUSCARV mira; y el precio (o el nombre, o el stock, según la columna que pidas) es lo que te devuelve. El libro de este tutorial es la hoja de pedidos y va a crecer paso a paso: empezamos con la tabla, añadimos la fórmula, vemos el error típico cuando algo no encaja y, al final, le damos la vuelta para entender el límite que más molesta.
La sintaxis de BUSCARV y sus cuatro argumentos
BUSCARV tiene cuatro argumentos y cada uno tiene una misión clara. Esta es la fórmula tal y como se escribe en una celda, sobre la tabla de productos:
=BUSCARV(F2;$A$2:$C$6;3;FALSO)
Y esta es la sintaxis completa, con el nombre de cada argumento:
| Argumento | Qué es | En el ejemplo |
|---|---|---|
valor_buscado |
Lo que Excel busca en la primera columna | F2 (el código escrito) |
matriz_buscar_en |
La tabla donde se busca, con la primera columna como llave | $A$2:$C$6 |
indicador_columnas |
Qué columna de la tabla se devuelve (1, 2, 3…) | 3 (el precio) |
ordenado |
FALSO para exacta, VERDADERO para aproximada |
FALSO |
La fórmula trabaja fila por fila: mira el código de F2, lo busca en A2:A6, y cuando lo encuentra devuelve la celda que está en la columna 3 de esa misma fila (el precio).
valor_buscado: el dato que BUSCARV compara con la primera columna
Es lo que se busca. Puede ser una celda (F2), un valor entre comillas ("A-12") o un número a pelo (1024). La regla es que el dato de la primera columna de la tabla y el dato buscado tienen que ser del mismo tipo: si en la tabla los códigos son texto, el buscado también; si son números, los dos números.
=BUSCARV(F2;$A$2:$C$6;3;FALSO)
=BUSCARV("A-03";$A$2:$C$6;3;FALSO)
1024 como número y en F2 tienes "1024" como texto, BUSCARV devuelve #N/A. La solución rápida es =VALOR(F2) o cambiar el formato de la celda.matriz_buscar_en: la tabla donde se busca, siempre con la primera columna a la izquierda
Es el rango con los datos. Tiene una condición: la columna donde se busca tiene que ser la primera del rango. Si en tu hoja los códigos están en la columna C, el rango empieza en C, no en A.
El indicador de columna se cuenta desde la primera celda del rango, no desde la columna A de la hoja. Si el rango es C2:E6 y pides la columna 2, te devuelve la columna D de la hoja, porque la D es la segunda del rango.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Codigo | Producto | Precio | Codigo pedido | ||
| 2 | A-01 | Lapiz | 1,50 | A-03 | ||
| 3 | A-02 | Cuaderno | 3,20 | |||
| 4 | A-03 | Goma | 0,80 | |||
| 5 | A-04 | Boligrafo | 1,10 | |||
| 6 | A-05 | Rotulador | 2,40 |
indicador_columnas: qué columna de la tabla se devuelve
Es un número entero que indica qué columna del rango se quiere traer. Con la tabla A2:C6: 1 = la columna A (códigos), 2 = la columna B (productos), 3 = la columna C (precios). Si pides 4 y la tabla solo tiene 3 columnas, sale #¡REF!.
=BUSCARV(F2;$A$2:$C$6;3;FALSO)
ordenado: VERDADERO para aproximada, FALSO para exacta
El cuarto argumento decide si la coincidencia es exacta o aproximada. En el 90 % de los casos se usa FALSO (o 0): BUSCARV solo devuelve resultado si el código escrito está tal cual en la tabla.
Con VERDADERO (o 1) la búsqueda es aproximada: si el código no existe, devuelve el de la fila inmediatamente anterior. Esto es útil en tablas de tramos (como rangos de comisiones) pero exige que la primera columna esté ordenada de menor a mayor. Si la ordenación falla, el resultado también.
| Valor | Búsqueda | Cuándo se usa | Tabla ordenada |
|---|---|---|---|
FALSO o 0 |
Exacta | Siempre que se busque un dato concreto | No hace falta |
VERDADERO o 1 |
Aproximada | Tramos, comisiones, tarifas | Sí, de menor a mayor |
=BUSCARV(F2;$A$2:$C$6;3;FALSO)
=BUSCARV(F2;$A$2:$C$6;3;0)
Preparar la hoja para que BUSCARV no se rompa al copiar la fórmula
La tabla de productos la escribimos una vez y la vamos a usar en todas las fórmulas. Para que al arrastrar la fórmula hacia abajo (o hacia los lados) la tabla no se mueva, hay que fijar el rango con dólares ($A$2:$C$6). Esto se hace con la tecla F4 mientras se escribe la fórmula.
Pasos para prepararla:
- Escribe los encabezados en A1, B1 y C1:
Codigo,Producto,Precio. - Rellena A2:C6 con los cinco productos del ejemplo.
- En F1 escribe
Codigo pedidoy en G1Precio. - Selecciona la celda G2 y escribe
=BUSCARV(F2;. - Selecciona con el ratón el rango A2:C6: verás
A2:C6en la fórmula. - Pulsa F4 una vez: el rango pasa a
$A$2:$C$6. - Termina la fórmula con
;3;FALSO)y pulsa Entrar.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Codigo | Producto | Precio | Codigo pedido | Precio | ||
| 2 | A-01 | Lapiz | 1,50 | A-03 | 0,80 | ||
| 3 | A-02 | Cuaderno | 3,20 | ||||
| 4 | A-03 | Goma | 0,80 | ||||
| 5 | A-04 | Boligrafo | 1,10 | ||||
| 6 | A-05 | Rotulador | 2,40 |
A2, $A2, A$2, $A$2. Para BUSCARV casi siempre quieres la referencia totalmente fija ($A$2:$C$6).=BUSCARV(F2;$A$2:$C$6;3;FALSO). Si al arrastrar hacia abajo los precios siguen apareciendo, los dólares están bien.El primer caso: sacar el precio de un código escrito en otra celda
Vamos a hacer el caso completo. La tabla de productos ya está en A2:C6, en F2 escribimos un código y en G2 queremos que aparezca su precio automáticamente.
- En F2 escribe
A-03y pulsa Entrar. - Selecciona G2 y escribe la fórmula
=BUSCARV(F2;$A$2:$C$6;3;FALSO). - Pulsa Entrar. En G2 debe verse
0,80. - Para probarlo con otros códigos, cambia F2 a
A-01,A-04, etc., y mira cómo G2 se actualiza. - Cuando termines las pruebas, rellena F3:F6 con los cinco códigos y arrastra G2 hacia abajo con el controlador de relleno (el cuadradito de la esquina inferior derecha de la celda). G3:G6 se rellenan solas con los precios.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Codigo | Producto | Precio | Codigo pedido | Precio | ||
| 2 | A-01 | Lapiz | 1,50 | A-03 | 0,80 | ||
| 3 | A-02 | Cuaderno | 3,20 | A-01 | 1,50 | ||
| 4 | A-03 | Goma | 0,80 | A-04 | 1,10 | ||
| 5 | A-04 | Boligrafo | 1,10 | A-05 | 2,40 | ||
| 6 | A-05 | Rotulador | 2,40 | A-02 | 3,20 |
#N/A, vuelve a mirar el primer argumento y asegúrate de que F2 coincide letra a letra con A2:A6.Cambiar el indicador de columna para traer otro dato
La gracia de BUSCARV es que con la misma fórmula puedes sacar el nombre del producto cambiando solo el tercer argumento. En G3, en vez de 3, escribe 2:
=BUSCARV(F2;$A$2:$C$6;2;FALSO)
Ahora G3 muestra el nombre del producto (en el ejemplo, Goma para A-03). Puedes crear una tercera columna con 1 para devolver el propio código (útil para validar que se encontró), y una cuarta con 3 para el precio. La tabla no se mueve porque sigue fijada con dólares.
| A | B | C | D | E | F | G | H | |
|---|---|---|---|---|---|---|---|---|
| 1 | Codigo | Producto | Precio | Codigo pedido | Producto | Precio | ||
| 2 | A-01 | Lapiz | 1,50 | A-03 | Goma | 0,80 | ||
| 3 | A-02 | Cuaderno | 3,20 | A-01 | Lapiz | 1,50 | ||
| 4 | A-03 | Goma | 0,80 | A-04 | Boligrafo | 1,10 | ||
| 5 | A-04 | Boligrafo | 1,10 | A-05 | Rotulador | 2,40 | ||
| 6 | A-05 | Rotulador | 2,40 | A-02 | Cuaderno | 3,20 |
La trampa más común: BUSCARV no encuentra el dato y devuelve #N/A
Cuando BUSCARV no encuentra el código, la celda muestra #N/A. La causa más frecuente no es que el código no exista, sino que el dato de F2 y el dato de A2:A6 no son exactamente iguales. Tres situaciones típicas:
- Código que no existe: escribes
A-09y la tabla solo llega hastaA-05. Se ve#N/A. - Número guardado como texto: en A2 tienes
1024como número y en F2 tienes1024como texto (o al revés). Coinciden visualmente pero no para Excel. - Espacios de más: en A4 alguien escribió
A-04con un espacio al final, o en F2 pegasteA-04desde otra web. Se ve#N/A.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Codigo | Producto | Precio | Codigo pedido | Precio | ||
| 2 | A-01 | Lapiz | 1,50 | A-09 | #N/A | ||
| 3 | A-02 | Cuaderno | 3,20 | 1024 | #N/A | ||
| 4 | A-03 | Goma | 0,80 | A-04 | #N/A |
Para diagnosticar, abre el cuadro de Comprobación de errores desde la celda con el error:
#N/A no es un error de tu fórmula: es BUSCARV diciendo "no he encontrado ese dato". El truco está en decidir si la causa es real (el código no existe) o un problema de formato (texto vs número, espacios).ESPACIOS y LIMPIAR para dejar el dato presentable
Para arreglar los espacios de más, la función ESPACIOS (en inglés TRIM) recorta los espacios al principio y al final y deja solo los de en medio. Para los espacios "raros" (los del carácter 160, muy comunes al pegar de páginas web) hay que combinarla con SUSTITUIR (en inglés SUBSTITUTE) y CARACTER (en inglés CHAR):
=ESPACIOS(SUSTITUIR(B2;CARACTER(160);""))
=VALOR(LIMPIAR(B2))
Aplícalo a la columna donde está el dato que se busca y a la columna donde se escribe, y vuelve a probar la fórmula. Si la causa eran los espacios, ahora BUSCARV devuelve el resultado.
SI.ND para que el error no manche la hoja
Cuando el código no existe y es un caso normal (un cliente que pide algo fuera de catálogo), #N/A afea la hoja. La función SI.ND (en inglés IFNA) envuelve BUSCARV y muestra lo que tú quieras cuando no se encuentra:
=SI.ND(BUSCARV(F2;$A$2:$C$6;3;FALSO);"No existe")
Ahora, si escribes A-09 en F2, en G2 verás No existe en vez de #N/A. Si el código sí está, sigue mostrando el precio. Es una de las funciones más útiles para dejar una hoja presentable.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Codigo | Producto | Precio | Codigo pedido | Precio | ||
| 2 | A-01 | Lapiz | 1,50 | A-03 | 0,80 | ||
| 3 | A-02 | Cuaderno | 3,20 | A-09 | No existe | ||
| 4 | A-03 | Goma | 0,80 | A-01 | 1,50 | ||
| 5 | A-04 | Boligrafo | 1,10 | A-12 | No existe | ||
| 6 | A-05 | Rotulador | 2,40 | A-05 | 2,40 |
=SI(ES.ND(BUSCARV(...));"No existe";BUSCARV(...)).No existe, mientras que en G2, G4 y G6 aparecen los precios. Cambia F3 a A-02 y verás cómo el texto desaparece y aparece 3,20.La limitación que más molesta: BUSCARV solo mira a la derecha
BUSCARV busca en la primera columna del rango y solo devuelve columnas que estén a su derecha. Si en tu tabla el precio está en la columna A y el código en la columna C, BUSCARV no vale: el código no está en la primera columna.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Precio | Producto | Codigo | Codigo pedido | ||
| 2 | 1,50 | Lapiz | A-01 | A-03 | ||
| 3 | 3,20 | Cuaderno | A-02 | |||
| 4 | 0,80 | Goma | A-03 | |||
| 5 | 1,10 | Boligrafo | A-04 | |||
| 6 | 2,40 | Rotulador | A-05 |
Las dos salidas posibles son: usar INDICE y COINCIDIR (sirve en cualquier versión) o usar BUSCARX (si tienes Excel 2021, 2024 o Microsoft 365).
INDICE y COINCIDIR como salida manual hacia la izquierda
La pareja INDICE (en inglés INDEX) y COINCIDIR (en inglés MATCH) resuelve el problema. COINCIDIR dice en qué posición del rango está el código, e INDICE devuelve el valor que hay en esa posición del rango de precios:
=INDICE(A2:A6;COINCIDIR(F2;C2:C6;0))
Pasos para escribirla:
- Selecciona G2 y escribe
=INDICE(. - Selecciona el rango de precios
A2:A6y escribe;. - Escribe
COINCIDIR(. - Selecciona F2, escribe
;, selecciona el rango de códigosC2:C6, escribe;0). - Cierra con
)y pulsa Entrar.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Precio | Producto | Codigo | Codigo pedido | Precio | ||
| 2 | 1,50 | Lapiz | A-01 | A-03 | 0,80 | ||
| 3 | 3,20 | Cuaderno | A-02 | A-04 | 1,10 | ||
| 4 | 0,80 | Goma | A-03 | A-01 | 1,50 | ||
| 5 | 1,10 | Boligrafo | A-04 | ||||
| 6 | 2,40 | Rotulador | A-05 |
0 al final de COINCIDIR es obligatorio: indica coincidencia exacta. Sin él, COINCIDIR hace búsqueda aproximada y exige la lista ordenada.BUSCARX (XLOOKUP) cuando tu Excel es 2021, 2024 o Microsoft 365
BUSCARX (en inglés XLOOKUP) hace lo mismo que INDICE+COINCIDIR pero con una sintaxis más limpia: tú le dices qué buscas, dónde lo busca y qué quieres que devuelva, y ella se apaña con cualquier dirección.
=BUSCARX(F2;C2:C6;A2:A6;"No existe")
La fórmula busca F2 en C2:C6 y devuelve lo que hay en la misma fila de A2:A6. Si no encuentra nada, en vez de #N/A muestra "No existe" (esto lo hace el cuarto argumento, sin necesidad de SI.ND).
#¿NOMBRE? porque no existe. En ese caso, usa BUSCARV con la tabla reorganizada o INDICE+COINCIDIR.Lo que ya sabes hacer buscando en una columna y qué te toca después
Cuatro ideas claras con las que ya te apañas con BUSCARV en cualquier hoja:
- Escribir BUSCARV con
FALSOcomo cuarto argumento para que la búsqueda sea exacta y no aproximada. - Fijar la tabla con dólares (
$A$2:$C$6) usando F4 para poder arrastrar la fórmula sin que se rompa. - Controlar el error
#N/Aenvolviendo la fórmula conSI.NDy mostrando un texto como"No existe". - Conocer el límite de mirar solo a la derecha y saber que tiene dos salidas: INDICE+COINCIDIR o BUSCARX.
El siguiente paso natural es pasar a BUSCARX: con la misma idea que aquí (buscar un valor y traer otro de la misma fila) ahorras la columna intermedia, lees hacia la izquierda, controlas el error en un solo argumento y la fórmula sigue funcionando aunque insertes columnas en la tabla.
Dudas al usar BUSCARV en Excel
1. ¿Cómo saber si un valor existe en una columna de Excel?
La forma más rápida es usar la función COINCIDIR (MATCH): =COINCIDIR(A2;A:A;0). Si el valor está en la columna, devuelve la posición donde se encontró; si no, muestra el error #N/A. Para convertir ese error en un mensaje claro, envuélvela con SI.ERROR: =SI.ERROR(COINCIDIR(A2;A:A;0);"No existe").
2. ¿Cómo se usa BUSCARV en Excel con un ejemplo?
BUSCARV (VLOOKUP) busca un dato en la primera columna de un rango y devuelve el valor de otra columna a su derecha. Por ejemplo, con una lista de productos en A2:B20, =BUSCARV("Teclado";A2:B20;2;FALSO) devuelve el precio del teclado. El último argumento en FALSO obliga a buscar una coincidencia exacta.
3. ¿Cómo buscar un valor en una columna que está en otra hoja?
Solo hay que añadir el nombre de la hoja delante del rango en la fórmula. Por ejemplo, =BUSCARV(A2;Productos!A:D;4;FALSO) busca A2 en la primera columna del rango A:D de la hoja Productos y devuelve el dato de la cuarta columna. Si el nombre de la hoja tiene espacios, enciérralo entre comillas simples: 'Datos Ventas'!A:D.
4. ¿Cómo pasar datos de una hoja a otra con BUSCARV?
La fórmula es la misma, pero el rango apunta a la hoja de origen: =BUSCARV(A2;Hoja2!A:C;3;FALSO) trae a la hoja actual el valor de la columna 3 que corresponde al dato de A2 en Hoja2. Arrastra el controlador de relleno hacia abajo para aplicarla al resto de filas y copiar todas las coincidencias de una vez.
5. ¿Qué es y para qué sirve la función BUSCARV?
BUSCARV (VLOOKUP) es una función de búsqueda vertical disponible en todas las versiones de Excel, desde 2007. Sirve para localizar un valor en la primera columna de una tabla y devolver, en la misma fila, un dato situado en otra columna. Sus cuatro argumentos son: el valor buscado, el rango, el número de columna a devolver y FALSO para coincidencia exacta.
6. ¿Cómo buscar una palabra dentro de una columna en Excel?
Para localizar una palabra que aparece dentro de un texto, usa BUSCARV con el carácter comodín asterisco: =BUSCARV(\texto buscado\;A2:B100;2;FALSO). Los asteriscos hacen que Excel encuentre la palabra aunque esté rodeada de otros caracteres. Si la hoja tiene muchos resultados, combínala con SI.ERROR para mostrar un mensaje cuando no haya coincidencias.
7. ¿Cómo buscar un dato en Excel y traer información relacionada?
Para buscar un dato y traer información relacionada, BUSCARV (VLOOKUP) es la opción clásica: =BUSCARV(código;tabla;número_columna;FALSO) devuelve el dato de la columna que indiques. Desde Excel 2021 y Microsoft 365, BUSCARX (XLOOKUP) es más flexible: =BUSCARX(código;tabla[código];tabla[precio]) sin contar columnas y permite buscar a la izquierda.
8. ¿Cómo buscar un valor dentro de una tabla de Excel?
Cuando los datos forman una tabla estructurada, combínalos con BUSCARV (VLOOKUP) usando referencias absolutas: =BUSCARV(A2;$A:$D;3;FALSO). El símbolo $ fija el rango al arrastrar la fórmula y evita que se desplace. Si tu tabla está convertida en Tabla de Excel, usa nombres de columna como Tabla1[Precio] para que la fórmula sea más legible.
Fuentes
- MicrosoftBuscar valores con BUSCARV, INDICE o COINCIDIRconsultado el 13/10/2026
- MicrosoftCOLUMNA — documentación oficialconsultado el 13/10/2026
- MicrosoftBUSCAR — documentación oficialconsultado el 13/10/2026
- MicrosoftVALOR — documentación oficialconsultado el 13/10/2026
- Microsoft#N/A — documentación oficialconsultado el 13/10/2026