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