Descarga gratis la hoja de atajos de Excel en PDF aquí
Descargar plantillas

Fórmulas y funciones 8 min de lectura

BUSCARV explicado sin dramas (y por qué BUSCARX es mejor)

Cruzar dos listas sin copiar y pegar a mano: la función que más se pide en las ofertas de trabajo.

Por Carlos

BUSCARV explicado sin dramas (y por qué BUSCARX es mejor)
Contenido del artículo

Tienes una lista de códigos de producto y necesitas poner al lado el nombre y el precio, que están en otra hoja. Si lo haces buscando uno a uno, tardas la tarde entera y te equivocas en tres.

BUSCARV hace ese cruce en un segundo. Tiene fama de difícil y no lo es: lo que pasa es que casi nadie explica qué significa cada argumento. Es una de las piezas clave de nuestra guía de fórmulas y funciones de Excel.

Los cuatro argumentos, uno a uno

=BUSCARV(qué busco; dónde lo busco; qué columna devuelvo; FALSO)

Según la configuración regional de tu equipo, Excel separa los argumentos con punto y coma (;) o con coma (,). Aquí usamos el punto y coma; si una fórmula copiada da error, prueba con la coma.

Qué busco: la celda con el dato que tienes, normalmente un código o un nombre.

Dónde lo busco: el rango de la tabla que contiene la información. Aquí está la regla de oro: el dato que buscas tiene que estar en la primera columna de ese rango. BUSCARV solo mira hacia la derecha.

Qué columna devuelvo: un número, contando desde la primera columna del rango. Si el rango es A:D y quieres el precio que está en C, el número es 3.

FALSO: escríbelo siempre. Significa coincidencia exacta. Si pones VERDADERO o lo dejas vacío, Excel busca la coincidencia aproximada y te devuelve datos del producto equivocado sin avisar. Es la causa del 90 % de los desastres con esta función.

El ejemplo completo

En la hoja «Catálogo» tienes los códigos en A, el nombre en B y el precio en C, de la fila 2 a la 500:

Código (A)Producto (B)Precio (C)
P-101Papel bond A4, millarS/ 18,50
P-102Archivador de palancaS/ 9,90
P-103Tóner negroS/ 145,00

En tu hoja de pedidos, el código está en A2. Para traer el nombre:

=BUSCARV(A2;Catálogo!$A$2:$C$500;2;FALSO)

Fíjate en los dólares del rango. Son imprescindibles: sin ellos, al arrastrar hacia abajo el rango se va desplazando y a partir de cierta fila deja de encontrar cosas. Si no tienes claro por qué, repasa referencias absolutas y relativas.

Para el precio, la misma fórmula cambiando el 2 por un 3. Con los datos de arriba, el código P-102 devuelve «Archivador de palanca» y S/ 9,90; un código que no está en el catálogo, como P-105, devuelve #N/A.

Cuando sale #N/A

#N/A quiere decir «no lo he encontrado». Las causas son casi siempre estas cuatro:

  • Un espacio invisible al final del código. Se limpia con =ESPACIOS(A2); si los datos vienen de otro programa, te explicamos cómo quitar duplicados y limpiar datos pegados de otro sistema.
  • Un código que en una hoja es número y en la otra texto. Se distinguen por la alineación: los números van a la derecha, el texto a la izquierda.
  • El dato buscado no está en la primera columna del rango.
  • Y a veces, simplemente, ese código no existe en el catálogo.

Para que la hoja no se llene de errores, envuélvelo: =SI.ERROR(BUSCARV(…);"No encontrado"). Pero hazlo después de comprobar que el error es legítimo; lo explicamos en los errores de Excel y cómo arreglarlos.

BUSCARX: lo mismo, pero sin las pegas

Si tienes Microsoft 365 u Office 2021, olvídate de BUSCARV. La función nueva se llama BUSCARX y arregla los tres problemas de golpe:

=BUSCARX(A2;Catálogo!$A$2:$A$500;Catálogo!$B$2:$B$500;"No encontrado")

Le dices dónde buscar y qué columna devolver, sin contar posiciones. Puede buscar hacia la izquierda. Es exacta por defecto. Y el cuarto argumento ya es el mensaje para cuando no encuentra nada, sin necesidad de SI.ERROR.

Tiene además dos extras muy útiles. Si en lugar de una columna le das varias, =BUSCARX(A2;Catálogo!$A$2:$A$500;Catálogo!$B$2:$C$500), trae el nombre y el precio a la vez. Y su sexto argumento cambia el sentido de la búsqueda: con -1 empieza por el final, así que te devuelve el último precio registrado de un producto en lugar del primero.

Un aviso: si el archivo lo va a abrir alguien con una versión antigua, BUSCARX le saldrá como error. En equipos con versiones mezcladas, BUSCARV sigue siendo la apuesta segura.

BUSCARV o BUSCARX: la comparación rápida

BUSCARVBUSCARX
Dirección de búsquedaSolo hacia la derechaEn cualquier dirección
Coincidencia por defectoAproximada (hay que poner FALSO)Exacta
Si no encuentra el dato#N/A (necesita SI.ERROR)Mensaje propio en el cuarto argumento
Si insertas una columna en medioPuede devolver la columna equivocadaSigue funcionando
VersionesTodasMicrosoft 365, Excel 2021 y posteriores, Excel online

INDICE y COINCIDIR: la alternativa clásica

Si tu Excel no tiene BUSCARX pero necesitas buscar hacia la izquierda, la combinación de toda la vida es esta:

=INDICE(A2:A500;COINCIDIR(F2;C2:C500;0))

COINCIDIR busca el valor de F2 dentro de la columna C y devuelve en qué posición está: la 47, por ejemplo. INDICE va entonces a la columna A y trae lo que hay en esa misma posición 47.

Como los dos rangos son independientes, da igual el orden de las columnas. Y tiene una ventaja extra sobre BUSCARV: si insertas o borras columnas en medio de la tabla, la fórmula sigue funcionando, porque no depende de contar posiciones.

Buscar por dos criterios a la vez

A veces el código no identifica una fila por sí solo: necesitas producto y mes. La solución sencilla es crear una columna auxiliar que una los dos campos, =A2&"-"&B2, y buscar sobre esa columna combinada.

No es elegante, pero es robusto y lo entiende cualquiera que abra el archivo, que suele importar más que la elegancia.

Cuidado con el rendimiento

Un error muy común es escribir el rango como columnas enteras: =BUSCARV(A2;Catálogo!A:C;2;FALSO). Funciona, pero obliga a Excel a mirar un millón de filas por cada fórmula. Con cinco mil BUSCARV en la hoja, el archivo se arrastra.

Acota siempre el rango a las filas que existen, o mejor aún, convierte la tabla de origen en tabla con Ctrl+T y usa su nombre: =BUSCARV(A2;Catalogo;2;FALSO). Se ajusta sola al tamaño real. Las tablas de Excel son la base de todo lo que contamos en análisis de datos.

Comprobar el resultado antes de fiarte

Después de un cruce grande, dedica treinta segundos a comprobarlo. Pon =CONTAR.SI(rango_resultado;"#N/A") o filtra por errores para ver cuántos no encontró. Si el número es mayor que cero, investiga antes de mandar el informe: casi siempre hay una razón sistemática detrás, no casos sueltos.

Practica el cruce

El archivo gratuito de 7 fórmulas de Excel para el trabajo tiene un módulo de BUSCARX para encontrar precios, códigos y nombres en una tabla, y otro de SI.ERROR para cambiar los #N/A por mensajes claros. Cada ejercicio trae su solución. Y si quieres ver la búsqueda aplicada a un documento de trabajo, la plantilla de órdenes de compra con autocompletado completa los datos del producto en cuanto lo eliges.

Preguntas frecuentes

¿Por qué BUSCARV me devuelve un dato equivocado sin dar error?

Porque el cuarto argumento está en VERDADERO o vacío. En ese modo, si no encuentra el valor exacto, devuelve el más cercano por debajo, y con una lista sin ordenar eso es un dato al azar. Escribe siempre FALSO.

¿BUSCARV distingue mayúsculas de minúsculas?

No. «p-101» y «P-101» son el mismo código para BUSCARV y para BUSCARX. Lo que sí rompe la búsqueda son los espacios sobrantes y la mezcla de números y texto.

¿Qué hago si BUSCARX me da #¿NOMBRE??

Tu versión de Excel no tiene la función. Usa BUSCARV o INDICE y COINCIDIR, o abre el archivo en Excel online, que es gratuito e incluye BUSCARX.

¿Puedo buscar en otro archivo?

Sí, pero los dos archivos tienen que estar a mano: si el de origen cambia de carpeta, las fórmulas pierden el vínculo. Siempre que puedas, copia la tabla de origen en una hoja del mismo libro.

Deja el primer comentario

Cuéntanos qué tal te funcionó o pregunta lo que necesites.

Escribe un comentario

Sigue aprendiendo

Más guías de Fórmulas y funciones

Ver todo el tema