BUSCARV explicado sin dramas (y por qué BUSCARX es mejor)
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.
Los cuatro argumentos, uno a uno
=BUSCARV(qué busco; dónde lo busco; qué columna devuelvo; falso)
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. 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.
Para el precio, la misma fórmula cambiando el 2 por un 3.
Cuando sale #N/D
#N/D 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).
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 rojos, envuélvelo: =SI.ERROR(BUSCARV(…);»No encontrado»).
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.
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.
Practica el cruce
En la biblioteca de recursos tienes el archivo del vídeo con las dos hojas, catálogo y pedidos, para que hagas el cruce con las dos funciones y compares.
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.
Comprobar el resultado antes de fiarte
Después de un cruce grande, dedica treinta segundos a comprobarlo. Pon =CONTAR.SI(rango_resultado;»#N/D») 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.
Descarga las plantillas de este articulo
Todos los archivos que usamos en los tutoriales estan en la biblioteca, listos para descargar.
Ir a la biblioteca