Excel formula: Multiple matches in comma separated list

Fórmula genérica

{=TEXTJOIN(", ",VERDADERO,SI(rng1=E5,rng2,""))}

Explicación

Para buscar y recuperar múltiples coincidencias en una lista separada por comas (en una sola celda) puede usar la función SI con la función TEXTJOIN. En el ejemplo que se muestra, la fórmula en F5 es:

{=TEXTJOIN(", ",VERDADERO,SI(group=E5,name,""))}

Esta es una fórmula de matriz y debe ingresarse con control + shift + enter.

Esta fórmula utiliza los rangos con nombre "nombre" (B5: B11) y "grupo" (C5: C11).

Cómo funciona esta fórmula

El núcleo de esta fórmula es la función SI, que "filtra" los nombres de la tabla por un color como este:

SI(group=E5,name,""))

La prueba lógica verifica cada celda en el "grupo" del rango nombrado para el valor de color en E5 (rojo en este caso). El resultado es una matriz como esta:

{FALSO;FALSO;VERDADERO;VERDADERO;FALSO;FALSO;VERDADERO}

Ese resultado se utiliza a su vez para filtrar los nombres del "nombre" de rango con nombre:

{"Matt";"Sally";"Jude";"Aya";"Elle";"Linda";"George"}

Para cada VERDADERO, el nombre sobrevive, para cada FALSO, SI devuelve una cadena vacía ("").

El resultado de las apariencias SI es esta matriz:

{"";"";"Jude";"Aya";"";"";"George"}

que entra en la función TEXTJOIN como texto1.

TEXTJOIN está configurado para usar una coma como delimitador e ignorar los valores vacíos. El resultado final es esta cadena de texto:

"Jude, Aya, George"

Condiciones múltiples

No puede usar las funciones Y u O en una fórmula de matriz como esta porque solo devuelven un único resultado. Puede usar lógica booleana como esta para Y:

=TEXTJOIN(", ",VERDADERO,SI((condition1)*(condition2),name,""))

Explicado con más detalle aquí.


Comentarios en Facebook


0 comentarios:

Copyright © 2021 TRUJILLOSOFT