Cómo buscar y traer datos en Excel: guÃa completa de funciones
Buscar y traer datos en Excel es una de las tareas más frecuentes en el trabajo diario con hojas de cálculo. Ya sea que necesites localizar un precio según un código de producto, obtener el nombre de un empleado a partir de su DNI o filtrar registros que cumplan ciertas condiciones, Excel ofrece un arsenal de funciones diseñadas para exactamente eso. En esta guÃa te explicamos las principales herramientas y cómo combinarlas para obtener resultados rápidos y fiables.
La función más clásica sigue siendo BUSCARV (VLOOKUP). Su sintaxis es =BUSCARV(valor_buscado; rango_tabla; num_col; FALSO). El último argumento, FALSO, es crucial: garantiza una coincidencia exacta en lugar de un resultado aproximado. Sin embargo, BUSCARV tiene limitaciones importantes: solo busca en la primera columna del rango y solo recupera datos hacia la derecha. Si necesitas buscar hacia la izquierda o trabajar con columnas que cambian de posición, necesitarás otras alternativas.
Una solución más flexible es la combinación INDICE + COINCIDIR (INDEX + MATCH). Esta dupla permite buscar en cualquier columna y traer datos desde cualquier otra, sin importar el orden. La sintaxis tÃpica es =INDICE(rango_resultado; COINCIDIR(valor_buscado; rango_busqueda; 0)). Es especialmente útil cuando tu tabla tiene la clave de búsqueda en la tercera columna y el dato que quieres traer está en la primera.
Desde Excel 2021 y Microsoft 365, la función XLOOKUP ha llegado para simplificar enormemente estas tareas. Su sintaxis =XLOOKUP(valor_buscado; rango_busqueda; rango_resultado; [si_no_encuentra]) permite buscar en cualquier dirección, definir un valor por defecto si no se encuentra coincidencia y realizar búsquedas hacia arriba o abajo. Es la opción más legible y potente para la mayorÃa de los casos.
Si tu objetivo no es buscar un valor único sino traer todos los registros que cumplan una condición, la función FILTER es tu aliada. Por ejemplo, =FILTER(A2:D100; C2:C100="Activo") traerá todas las filas donde la columna C contenga 'Activo'. También puedes combinar condiciones con operador AND (usando *1) o OR (usando +1).
Para búsquedas más complejas, INDICE + COINCIDIR con criterios múltiples sigue siendo imbatible. Puedes anidar varios criterios usando matrices: =INDICE(rango; COINCIDIR((crit1)*(crit2); 0)). También existe la función CONJUNTO.UNION.INTERSECCION y AGREGAR para operaciones más avanzadas sobre conjuntos de datos.
Un consejo práctico: antes de escribir la fórmula, asegúrate de que tus datos estén en formato tabla (Ctrl+T). Las tablas dinámicas de Excel expanden automáticamente los rangos al añadir filas, evitando errores de referencia. Además, usa nombres de rango para hacer las fórmulas más legibles: en lugar de =BUSCARV(A2;Hoja2!B:F;3;FALSO), escribe =BUSCARV(A2;TablaProductos;3;FALSO).
Para búsquedas con comodines o texto parcial, combina BUSCARV, XLOOKUP o INDICE.COINCIDIR con los caracteres * (cualquier número de caracteres) y ? (un solo carácter). Por ejemplo, =XLOOKUP("*Madrid*";A:A;B:B;"No encontrado") traerá la primera coincidencia donde la columna A contenga 'Madrid' en cualquier posición.
Si trabajas con macros o VBA, el método Range.Find permite búsquedas más rápidas en rangos muy grandes. El código básico serÃa: Set celda = Hoja1.Range("A:A").Find(What:=valor, LookIn:=xlValues, LookAt:=xlWhole). Útil cuando necesitas localizar la posición exacta de una celda antes de traer datos adyacentes.
Finalmente, recuerda que el rendimiento importa: en tablas con más de 100.000 filas, prefiere XLOOKUP o INDICE.COINCIDIR sobre BUSCARV, y evita funciones que generen matrices innecesarias. Un uso correcto de las referencias absolutas ($A$1:$D$500) frente a relativas es la diferencia entre una fórmula que funciona al copiarla y una que genera #¡VALOR! en cascada.
FILTER trae todas las filas que cumplen una condición sin necesidad de macros: =FILTER(rango; condición) es la forma más rápida de extraer subconjuntos.
Dato clave