Buscar todos los valores coincidentes cuando BUSCARX solo devuelve uno
Juan se encuentra con un problema frecuente: tiene una tabla de búsqueda con claves duplicadas (A aparece varias veces con valores distintos) y BUSCARX solo le devuelve la primera coincidencia. Además, al intentar forzar múltiples resultados, se encuentra con errores #CALC! (desbordamiento) que no puede seleccionar fácilmente para borrarlos.
La comunidad propone varios enfoques para resolver ambos problemas:
MAP + FILTRAR + MATRIZATEXTO (Gerson): para cada clave, filtra todos los valores coincidentes y los concatena en una sola celda con MATRIZATEXTO:
``
=MAP(E4:E7; LAMBDA(x; MATRIZATEXTO(FILTRAR(B14:B17; x = A14:A17; "No encontrado"))))
`
Así cada celda contiene todos los resultados separados por coma, sin riesgo de desbordamiento.
UNIRCADENAS para evitar #CALC! (Miki): cuando la fórmula devuelve múltiples resultados pero la celda no tiene espacio para desbordarse, usar UNIRCADENAS es otra forma de condensar todo en una celda:
`
=UNIRCADENAS(", "; 1; FILTRAR(B14:B17; A14:A17 = E4))
`
ENCOL con argumento 2 o 3 para limpiar errores (Leo): si ya tienes un array con errores #CALC! mezclados con valores válidos, ENCOL puede filtrarlos:
`
=ENCOL(rango_con_errores; 2)
`
El segundo argumento de ENCOL controla qué ignorar: 1 = vacíos, 2 = errores, 3 = ambos.
Un buen recordatorio de que BUSCARX está diseñado para devolver un único resultado, y que para búsquedas con múltiples coincidencias la combinación FILTRAR + MAP + LAMBDA` es la herramienta adecuada.
El problema: BUSCARX solo devuelve la primera coincidencia
BUSCARX es la función de búsqueda por excelencia de Excel moderno, pero tiene una limitación de diseño: devuelve un único resultado. Si tu tabla tiene la misma clave repetida varias veces con valores distintos, BUSCARX se queda con la primera y descarta el resto.
Juan se encontró justo con esto: una clave (por ejemplo "A") aparecía varias veces con importes diferentes, y necesitaba todos los valores asociados, no solo uno. Y al intentar forzar múltiples resultados aparecía otro problema: errores #CALC! de desbordamiento que además costaba seleccionar para limpiarlos.
La comunidad propuso tres enfoques que resuelven ambos frentes.
Enfoque 1: MAP + FILTRAR + MATRIZATEXTO (Gerson)
La idea es recorrer cada clave de búsqueda y, para cada una, filtrar todas sus coincidencias y condensarlas en una sola celda:
=MAP(E4:E7; LAMBDA(x; MATRIZATEXTO(FILTRAR(B14:B17; x = A14:A17; "No encontrado"))))FILTRAR devuelve todos los valores cuya clave coincide con x, y MATRIZATEXTO los une en un texto separado por comas. Como cada celda recibe un texto y no un array, no hay riesgo de desbordamiento: cada fila del resultado contiene todas sus coincidencias juntas.
Enfoque 2: UNIRCADENAS para esquivar el #CALC! (Miki)
Cuando la fórmula devuelve varios resultados pero la celda no tiene sitio para desbordarse, UNIRCADENAS es otra forma limpia de agruparlo todo:
=UNIRCADENAS(", "; 1; FILTRAR(B14:B17; A14:A17 = E4))El primer argumento es el separador, el segundo indica que se ignoren los vacíos, y el tercero es el FILTRAR con todas las coincidencias. Resultado: una celda con todos los valores separados por coma, sin errores de espacio.
Enfoque 3: ENCOL para limpiar errores ya existentes (Leo)
Si ya tienes un array donde conviven valores válidos y errores #CALC!, ENCOL puede depurarlo:
=ENCOL(rango_con_errores; 2)El segundo argumento de ENCOL controla qué descartar: 1 ignora los vacíos, 2 ignora los errores y 3 ignora ambos. Con 2 te quedas solo con los valores buenos, apilados en una columna limpia.
Funciones clave
FILTRAR: el motor real de la solución; devuelve todas las filas que cumplen la condición, no solo la primera.MAP: aplica la lógica de búsqueda a cada clave de una lista de una sola pasada.MATRIZATEXTO/UNIRCADENAS: condensan varios resultados en una única celda, evitando el desbordamiento.ENCOL: apila y, de paso, filtra vacíos o errores según su segundo argumento.
Conclusión
La lección de fondo es entender la herramienta: BUSCARX está pensado para devolver un resultado, y empeñarse en exprimirlo para varios lleva a errores de desbordamiento. Cuando lo que quieres son todas las coincidencias, el trío FILTRAR + MAP + LAMBDA es la combinación correcta, y MATRIZATEXTO o UNIRCADENAS te ahorran los #CALC!. Casos como este, con tres soluciones distintas para el mismo problema, son el pan de cada día en la comunidad de InflueXcel.
Más casos con estas funciones
Más contenido de Excel en InflueXcel
- Categorizar automáticamente conceptos con BUSCARX REGEX y MAP CasoUn miembro de la comunidad tiene una lista de compra (conceptos como "leche entera", "pan integral", etc.) y una tabla de categorías donde c
- Filtrar una tabla por una lista de valores: una LAMBDA propia y su inversa TutorialTe pasan una lista de 30 números de albarán y hay que sacar esas filas de una tabla de miles. Con el autofiltro es marcar casillas una a una
- Cómo dejar una celda realmente vacía en fórmulas SI, BUSCARX y FILTRAR CasoInteresante problema planteado por un miembro de la comunidad: quiere que sus fórmulas devuelvan una celda realmente vacía cuando no hay res
- Filtro multicriteria dinámico con LET, FILTRAR y LAMBDA CasoHéctor comparte con la comunidad una fórmula avanzada para filtrar una tabla de productos/servicios por múltiples criterios opcionales (clav
- FILTRAR con ELEGIR y BUSCARX para consultas cruzadas entre tablas CasoInteresante problema planteado por Héctor sobre cómo construir una consulta dinámica que combine columnas de una tabla con datos cruzados de
- Readmisión de pacientes en 48h: Power Query, LAMBDA/MAP y AGRUPARPOR CasoAndrés Rojas plantea un reto real de datos clínicos: a partir de una tabla con más de un millón de registros de urgencias (IdPaciente, Fecha
- FILTRAR que devuelve múltiples filas: por qué falla y cómo resolverlo CasoInteresante problema que aparece con frecuencia cuando se combinan FILTRAR con funciones iterativas como MAP o BYROW. Un miembro tiene una t
- BUSCARX explicado fácil TutorialDesde la sintaxis básica hasta trucos avanzados como expresiones regulares y cruce de rangos. Además, aprenderás a manejar errores y a usar
- Crea gráficas interactivas en Excel: Crossfiltering TutorialCrea gráficos interactivos en Excel utilizando el poder de las funciones dinámicas para modificar los datos de origen y generar efectos avan
- ¿Por qué nadie te contó esto? Funciones CUBO en Excel Tutorial¿Sabías que puedes acceder a los datos del modelo en Excel sin usar tablas dinámicas? En este tutorial aprenderás cómo usar las funciones CU