Buscar

BUSCARV (VLOOKUP) en Excel: qué es y cómo se usa

octubre 9, 2026 Tuto Excel 15 min read
BUSCARV (VLOOKUP) en Excel: qué es y cómo se usa

BUSCARV (en inglés VLOOKUP) es la función de Excel que trae a tu hoja un dato que está en otra tabla, escribiendo solo una clave. Si tienes una lista de precios y quieres que el precio aparezca solo con escribir el código del producto, BUSCARV lo hace por ti. Está en todas las versiones de Excel desde 2007 y, además, en Microsoft 365, en Excel para la web, para Mac y para móviles. Al terminar este tutorial sabrás escribirla, fijarla al copiarla, entender sus errores y traducirla a VLOOKUP cuando copies una fórmula de una página en inglés.

Qué es BUSCARV y para qué sirve en una hoja real

Imagina la hoja de una tienda con dos tablas. La primera, Precios, tiene el catálogo: en la columna A el código, en la B el nombre y en la C el precio. La segunda, Pedidos, es la que rellenas cada día: en E escribes el código y en F quieres que aparezca el precio sin tener que buscarlo.

El problema es que escribir el precio a mano es lento y se presta a errores. BUSCARV hace ese trabajo: toma el código que escribes en E, lo busca en la primera columna de la tabla de precios y, cuando lo encuentra, devuelve el valor que está en la columna que le indiques, en la misma fila.

En este tutorial vamos a usar exactamente esas dos hojas: Precios y Pedidos. Iremos paso a paso, desde la fórmula más sencilla hasta cómo escribirla desde VBA. Los datos son pequeños, con productos reales, para que los resultados se puedan comprobar a ojo.

Cómo se escribe BUSCARV: la fórmula y sus cuatro argumentos

BUSCARV siempre tiene la misma forma: un valor que se busca, una tabla donde buscarlo, un número de columna y un último argumento que decide si la coincidencia es exacta o aproximada.

=BUSCARV(E2;A2:C6;3;FALSO)

valor_buscado, el código que escribes en la celda

Es la clave que BUSCARV intenta encontrar. En la hoja de pedidos, esa clave es el código que escribes tú en E2: =BUSCARV(E2;...). Puede ser un número, un texto o una referencia a otra celda, pero tiene que estar en la primera columna de la tabla donde buscas. Si en tu tabla la primera columna es el código, todo encaja; si es el nombre del producto, BUSCARV nunca lo encontrará, porque no mira en esa columna.

matriz_buscar_en, la tabla donde está el dato

Es el rango que contiene los datos, en nuestro ejemplo A2:C6: las seis filas de la tabla Precios y sus tres columnas. Cuando copies la fórmula hacia abajo, este rango se moverá si no lo fijas, y BUSCARV empezará a buscar en filas que no debe. Por eso se ancla con el dólar: $A$2:$C$6. La celda de la clave (E2) sí se mueve, porque cada fila tiene su propio código.

indicador_columnas, qué columna devuelve el resultado

Es un número que dice qué columna de la tabla quieres como respuesta. Contando desde la izquierda: 1 es Código, 2 es Producto y 3 es Precio. Si pones 2, te devuelve el nombre del producto; si pones 3, el precio. Si pones un número mayor que las columnas de la tabla, por ejemplo 4 en una tabla de tres, el resultado es #¡REF!.

ordenado, la diferencia entre FALSO (0) y VERDADERO (1)

Es el cuarto argumento y el que más confunde. Con FALSO (o 0) BUSCARV busca una coincidencia exacta: solo devuelve algo si el código existe tal cual. Con VERDADERO (o 1) hace una coincidencia aproximada: necesita la tabla ordenada y sirve para tramos, como descuentos por cantidad. En el 90 % de los casos de la vida real, con códigos y precios, lo que quieres es FALSO. Si se te olvida ponerlo, BUSCARV hace la búsqueda aproximada sin avisarte, y devuelve datos que parecen correctos pero no lo son.

BUSCARV en inglés: VLOOKUP y los nombres de los argumentos

La misma función se llama VLOOKUP en un Excel en inglés, y los argumentos también cambian de nombre: lookup_value es el valor buscado, table_array es la tabla, col_index_num es el número de columna y range_lookup es el indicador de coincidencia exacta o aproximada. La fórmula equivalente, con comas porque el separador en un Excel configurado con punto decimal es la coma, queda así: =VLOOKUP(E2,A2:C6,3,FALSE).

Por eso, cuando copias una fórmula de una página en inglés o de Stack Overflow, en tu Excel en español puede salir el error #¿NOMBRE? o #NOMBRE?: la función está en inglés. La solución es traducir el nombre (VLOOKUP por BUSCARV) y, si tu Excel usa punto y coma, cambiar las comas por punto y coma. La fórmula no es distinta; solo cambia el idioma y el separador.

Nota: en este tutorial todas las fórmulas usan punto y coma porque así se escriben en un Excel configurado con coma decimal (España y la mayoría de Latinoamérica). Si tu Excel está en una configuración con punto decimal, cambia cada ; por ,.

Traer el precio de un producto con BUSCARV paso a paso

Vamos a la práctica. Crea un libro nuevo con dos hojas: Precios y Pedidos. Empezamos rellenando la hoja de precios.

A1fx**Codigo**
A B C
1 Codigo Producto Precio
2 A-01 Cuaderno A4 3,20
3 A-02 Lapiz HB 0,50
4 A-03 Goma de borrar 0,80
5 A-04 Boligrafo azul 1,10
6 A-05 Carpeta carton 2,40
Precios

Ahora ve a la hoja Pedidos y prepara la zona donde vas a escribir los códigos y donde quieres que aparezca el precio. En E2 escribirás el código a mano y en F2 debería aparecer el precio solo.

E2fxA-01
E F
1 Codigo Precio
2 A-01
Pedidos

Haz clic en F2, escribe la fórmula y pulsa Entrar.

=BUSCARV(E2;Precios!$A$2:$C$6;3;FALSO)
F2fx=BUSCARV(E2;Precios!$A$2:$C$6;3;FALSO)
E F
1 Codigo Precio
2 A-01 3,20
Pedidos
Comprueba: en F2 debería verse 3,20, que es el precio del código A-01.

Fijar la tabla con el dólar para que no se mueva al copiar

Ahora queremos usar la misma fórmula en las filas de abajo. Selecciona F2, busca el cuadrado pequeño verde en la esquina inferior derecha de la celda (el controlador de relleno) y arrástralo hasta F6. Después, rellena E3:E6 con A-02, A-03, A-04 y A-05.

F2fx=BUSCARV(E2;Precios!$A$2:$C$6;3;FALSO)
E F
1 Codigo Precio
2 A-01 3,20
3 A-02 0,50
4 A-03 0,80
5 A-04 1,10
6 A-05 2,40
Pedidos

Fíjate en que la fórmula de F3 es =BUSCARV(E3;Precios!$A$2:$C$6;3;FALSO): el primer argumento se movió a la fila 3, pero el rango de la tabla se quedó clavado en la misma zona. Si no hubieras escrito los dólares, al arrastrar la fórmula se habría convertido en =BUSCARV(E3;Precios!$A$3:$C$7;3;FALSO) y habría dejado de encontrar el código A-01.

Cuidado: el dólar se pone solo en la tabla (el rango que no debe moverse). En la celda del código (E2) no hace falta, porque queremos que cada fila mire su propio código.

BUSCARV con coincidencia exacta (FALSO o 0)

Ahora vamos a ver qué pasa cuando el código no existe. En E7 escribe A-99 y arrastra la fórmula de F2 hasta F7 con el controlador de relleno.

F7fx=BUSCARV(E7;Precios!$A$2:$C$6;3;FALSO)
E F
1 Codigo Precio
7 A-99 #N/A
Pedidos

F7 muestra #N/A porque A-99 no está en la tabla de precios. Eso es el comportamiento correcto: con FALSO la búsqueda es exacta y, si no encuentra, lo dice con ese error. Si quitas el FALSO o escribes VERDADERO, la fórmula te devolverá un precio cualquiera sin avisarte, y eso sí es un problema.

Comprueba: si en lugar de #N/A ves un número, te has dejado el FALSO o el 0 en la fórmula.

BUSCARV con coincidencia aproximada (VERDADERO o 1)

La coincidencia aproximada sirve para otra cosa muy distinta: buscar por tramos. Imagina una hoja de descuentos por cantidad pedida, donde cada fila es un tramo. Crea una nueva hoja Descuentos con la cantidad mínima en A y el descuento en B, ordenada de menor a mayor.

A1fx**Unidades desde**
A B
1 Unidades desde Descuento
2 1 0%
3 10 5%
4 25 10%
5 50 15%
Descuentos

En la hoja Pedidos, en G2, escribimos la cantidad pedida y en H2 queremos que aparezca el descuento que le corresponde. La fórmula usa VERDADERO y la columna 2 de la tabla.

=BUSCARV(G2;Descuentos!$A$2:$B$5;2;VERDADERO)
H2fx=BUSCARV(G2;Descuentos!$A$2:$B$5;2;VERDADERO)
G H
1 Unidades Descuento
2 30 10%
Pedidos

Con G2 = 30, BUSCARV devuelve 10%: la fila cuyo valor en A es el mayor que aún es menor o igual a 30 (que es 25). Si pones 9, devuelve 0%; si pones 50, devuelve 15%.

Cuidado: la coincidencia aproximada solo funciona bien si la columna de los tramos está ordenada de menor a mayor. Si no lo está, devuelve valores incoherentes.

BUSCARV con dos hojas distintas: Pedidos y Precios

En la práctica anterior ya hemos usado BUSCARV entre dos hojas: la fórmula de F2 vivía en Pedidos y la tabla estaba en Precios. La forma de hacerlo es escribir el nombre de la hoja delante del rango, seguido de un signo de exclamación: Precios!$A$2:$C$6. Si el nombre de la hoja tiene espacios, se pone entre comillas simples: 'Precios 2025'!$A$2:$C$6.

=BUSCARV(E2;Precios!$A$2:$C$6;3;FALSO)

Si la tabla estuviera en otro libro, habría que escribir la ruta entre corchetes: '[Precios2025.xlsx]Precios'!$A$2:$C$6. Para empezar, quédate con dos hojas en el mismo archivo; es lo más habitual y lo más limpio.

BUSCARV desde VBA con .Formula y .FormulaLocal

Cuando necesitas rellenar muchas filas con BUSCARV, lo más rápido es hacerlo con una macro. En VBA tienes dos formas de escribir la fórmula: en inglés con comas (.Formula y .FormulaR1C1) o en el idioma del usuario con punto y coma (.FormulaLocal y .FormulaR1C1Local).

Sub RellenarPrecios()
    Dim fila As Long
    For fila = 2 To 6
        ' Version en espanol con punto y coma (FormulaLocal)
        Range("F" & fila).FormulaLocal = "=BUSCARV(E" & fila & ";Precios!$A$2:$C$6;3;FALSO)"
    Next fila
End Sub

La versión en inglés con comas, usando .Formula, sería así:

Sub RellenarPreciosIngles()
    Dim fila As Long
    For fila = 2 To 6
        Range("F" & fila).Formula = "=VLOOKUP(E" & fila & ",Precios!$A$2:$C$6,3,FALSE)"
    Next fila
End Sub
Cuidado: si escribes =BUSCARV(...) en .Formula, da el error en tiempo de ejecución 1004. .Formula solo entiende los nombres de función en inglés.

Sub TotalPorFila() con .FormulaR1C1

La notación R1C1 mira las celdas por su posición respecto a la actual. RC[-1] significa "una columna a la izquierda en la misma fila": en F2, eso es E2. R2C1:R6C3 significa "el rectángulo que va de la fila 2 columna 1 a la fila 6 columna 3": en la hoja Precios, eso es A2:C6.

Sub RellenarPreciosR1C1()
    Range("F2:F6").FormulaR1C1 = "=VLOOKUP(RC[-1],R2C1:R6C3,3,FALSE)"
End Sub

Con esta macro, Excel escribe la misma fórmula en F2, F3, F4, F5 y F6 ajustando automáticamente las referencias relativas. Es la forma más cómoda de rellenar un rango entero de una sola vez.

Por qué BUSCARV devuelve #N/A y cómo arreglarlo

El error más común de BUSCARV es #N/A ("no disponible"): significa que la función no ha encontrado el valor. Las causas reales son cinco, y cada una tiene su arreglo.

El código no está en la primera columna

BUSCARV solo busca en la primera columna del rango. Si en tu tabla la columna de códigos está en B y los productos en A, la fórmula =BUSCARV(E2;B2:D6;3;FALSO) nunca encontrará nada. Tienes dos arreglos: cambiar el orden de las columnas para que la clave sea la primera, o usar INDICE y COINCIDIR, que buscan en cualquier columna.

El código está guardado como texto o con espacios

A veces el código de la tabla es A-01 y el que tú escribes es A-01 (con un espacio delante) o un número en lugar de texto. El resultado es #N/A aunque los dos códigos "parezcan" iguales. La solución más rápida es una columna auxiliar con =ESPACIOS(A2) y =LIMPIAR(A2) para limpiar los datos, y revisar que la columna de códigos tenga formato Texto en ambas hojas.

Falta FALSO y la tabla no está ordenada

Si olvidas el cuarto argumento, BUSCARV hace coincidencia aproximada por defecto, necesita la tabla ordenada de menor a mayor y devuelve resultados raros. En las búsquedas por código, casi siempre quieres coincidencia exacta. Añade ;FALSO (o ;0) al final de la fórmula y se acabó el problema.

El indicador de columna es mayor que la tabla (#¡REF!)

Si pides la columna 4 en una tabla de tres columnas, Excel devuelve #¡REF!. La fórmula está bien escrita, pero le pides algo que la tabla no tiene. Amplía la tabla hasta tener la columna que necesitas o reduce el número del indicador.

El nombre de la función está mal o en otro idioma (#¿NOMBRE?)

Si ves #¿NOMBRE? (o #NAME?), Excel no reconoce la función. Las dos causas más habituales: has escrito VLOOKUP en un Excel en español, o has escrito BUSCARV con la coma en lugar del punto y coma. Revisa la fórmula: la función en tu idioma y el separador que toca.

Los límites de BUSCARV y cuándo conviene BUSCARX

BUSCARV tiene tres límites que importan en la práctica. Solo busca en la primera columna del rango, solo devuelve columnas a su derecha y, si insertas una columna dentro de la tabla, el número del indicador no se actualiza solo y la fórmula empieza a devolver datos de la columna equivocada. Para la hoja de Pedidos y Precios que hemos usado, esos límites no molestan. Pero si la tabla crece o necesitas buscar a la izquierda, la función que viene es BUSCARX, que está en Excel 2021, 2024 y Microsoft 365.

Función Busca en Devuelve Si insertas columnas Disponible desde
BUSCARV (VLOOKUP) Solo la primera columna Solo a la derecha Se desajusta Excel 2007
BUSCARX (XLOOKUP) Cualquier columna Cualquier dirección Se ajusta sola Excel 2021, Microsoft 365
INDICE + COINCIDIR Cualquier columna Cualquier dirección Se ajusta sola Excel 2007

La diferencia más útil, en la práctica, es esta: con BUSCARX la misma fórmula que hemos escrito quedaría =BUSCARX(E2;Precios!$A$2:$A$6;Precios!$C$2:$C$6;"No existe"), y si mañana mueves la columna de precios no tienes que tocar nada.

Lo que ya sabes hacer con BUSCARV y el siguiente paso

  • Escribir la fórmula con sus cuatro argumentos: valor buscado, tabla, columna y coincidencia.
  • Fijar la tabla con dólares para que la fórmula funcione al arrastrarla con el controlador de relleno.
  • Elegir entre coincidencia exacta (FALSO) y aproximada (VERDADERO) según el caso.
  • Reconocer y arreglar los cinco errores más comunes: #N/A, #¡REF! y #¿NOMBRE?.
  • Escribir la fórmula desde VBA con .Formula (inglés) o .FormulaLocal (español).

El siguiente paso natural es BUSCARX. Está en Excel 2021, 2024 y Microsoft 365, y resuelve los tres límites de BUSCARV de un plumazo. Cuando te la encuentres delante, vuelve a este tutorial para entender la sintaxis: la idea es la misma, solo cambia la forma.

Dudas al usar BUSCARV

1. ¿Cómo se llama la función BUSCARV en inglés y funciona igual en Excel 2016?

En inglés se llama VLOOKUP y los cuatro argumentos se escriben exactamente igual: =VLOOKUP(valor_buscado; tabla; indicador_columnas; falso). En Excel 2016 funciona con punto y coma si tu Excel está en español de España, o con coma si está en inglés o en español con punto decimal (México, Estados Unidos).

2. ¿Qué hace exactamente la función BUSCARV en Excel?

BUSCARV busca un valor en la primera columna de un rango y te devuelve otro dato de la misma fila, en una columna que tú indicas por su número. Su sintaxis es =BUSCARV(valor_buscado; matriz_buscar_en; indicador_columnas; [ordenado]). Es útil para cruzar una lista corta con una tabla grande, como buscar el precio de un producto a partir de su código.

3. ¿Puedes darme un ejemplo práctico de BUSCARV en Excel?

Supón que en A1:B6 tienes productos y precios, y en D2 escribes "P001". La fórmula =BUSCARV(D2;A1:B6;2;FALSO) te devuelve el precio de ese producto, porque 2 indica la segunda columna del rango y FALSO obliga a buscar una coincidencia exacta. Si el código no existe, la función devuelve el error #N/A.

4. ¿Cómo usar BUSCARV para traer datos de otra hoja del mismo libro?

Solo tienes que anteponer el nombre de la hoja y un signo de exclamación al rango. Por ejemplo, =BUSCARV(A2;Hoja2!A:C;3;FALSO) busca el valor de A2 en la columna A de Hoja2 y devuelve lo que haya en su tercera columna. Si el nombre de la hoja lleva espacios, enciérralo entre comillas simples: =BUSCARV(A2;'Datos 2026'!A:C;3;FALSO).

5. ¿Cuál es el equivalente de BUSCARV en Google Sheets en inglés?

Se llama igual: VLOOKUP, con la misma sintaxis y los mismos cuatro argumentos. Eso sí, Google Sheets usa la coma como separador de argumentos y el punto como decimal, así que la fórmula se escribe =VLOOKUP(A2,Sheet2!A:C,3,FALSE), sin el FALSO en español que sí usa Excel.

6. ¿Se puede usar BUSCARV para buscar entre dos valores, por ejemplo un rango?

BUSCARV no sirve para eso de forma directa: solo devuelve el valor exacto (con FALSO) o el primer valor menor o igual (con VERDADERO, que requiere la columna ordenada). Para localizar en qué tramo cae un número entre dos límites, lo que se usa es SI.CONJUNTO con varias condiciones o las funciones COINCIDIR con un valor aproximado sobre una tabla de rangos.

7. ¿Cómo empiezo con BUSCARV si nunca lo he usado?

Abre una hoja con dos tablas: una pequeña donde escribirás el dato a buscar y otra grande que será tu tabla de datos. En la celda del resultado escribe =BUSCARV(seleccionas la celda del dato; seleccionas el rango de la tabla grande; escribes el número de columna que quieres traer; escribes FALSO) y pulsa Intro. Empieza con FALSO siempre, porque busca coincidencias exactas y es el modo que menos errores da al principio.

Fuentes

  1. MicrosoftBUSCARV — documentación oficialconsultado el 05/10/2026
  2. MicrosoftBUSCARX — documentación oficialconsultado el 05/10/2026
  3. Microsoft#N/A — documentación oficialconsultado el 05/10/2026
  4. Microsoft#¿NOMBRE? — documentación oficialconsultado el 05/10/2026
  5. MicrosoftRange.Formula, FormulaLocal, FormulaR1C1 y FormulaR1C1Local — documentación oficialconsultado el 05/10/2026