Usando coincidencia parcial con filtro y VSTACK

Usando coincidencia parcial con filtro y VSTACK

Con la ayuda de algunas de las sugerencias de este sitio, tengo la siguiente fórmula para extraer de varias hojas de trabajo:

=FILTER(VSTACK(FRR:SOD!G3:M200),
  (VSTACK(FRR:SOD!K3:K200)<>"")*
  (VSTACK(FRR:SOD!K3:K200)="ABC XXXX"))

¿Hay alguna manera de filtrar una coincidencia parcial dentro de "ABC XXXX"? Piense en ABC como una ubicación y en XXXX como un trabajo/puesto en esa ubicación. Me gustaría poder incluir a todos los asignados a ABC en una nueva hoja de trabajo y luego filtrar por trabajo/puesto. ¿Es eso posible?

Respuesta1

Aquí hay una forma de hacerlo:

=LET(
     α, VSTACK(FRR:SOD!G3:M200), 
     δ, INDEX(α,,5), 
     FILTER(α, (δ<>"")*(1-ISNA(XMATCH("ABC *",δ,2))),"Not Found"))

  • El uso de LET()funciones ayuda a definir variables y facilita la lectura sin repetir las mismas fórmulas.
  • αLa variable se define como el uso VSTACK()que agrega datos de varias hojas en una que consta de un rango G3:M200de hojas FRRySOD
  • δLa variable se define como el uso de INDEX()una función para extraer 5thde la matriz devuelta enα
  • Usar XMATCH()con un operador comodínAsterix* que significa Zeroy cualquier número de caracteres. En este caso de uso, se utiliza la ubicación ABC *y busca cualquier ubicación que comience ABCy termine con cualquiera asignada job/positionen la misma ubicación de la matriz δ.
  • Si se encuentra una coincidencia, entonces podemos usar ISNUMBER()para devolver TRUEo 1-ISNA()también se puede usar que hace lo mismo, es decir, primero ISNA()devuelve TRUEdonde #N/Ase resta el error, lo que da como resultado TRUElo mismo que hacer conISNUMBER()
  • Por último, envolver dentro de FILTER()la función para extraer dónde hay TRUE.

Notas:

• Excel tiene3 comodinesuno puede usar en sus fórmulas:

  1. Asterisco( *) --> Cero o más caracteres.
  2. Signo de interrogación( ?) --> cualquier carácter.
  3. tilde( ~) --> escape para caracteres literales ( ~*), un signo de interrogación literal ( ~?) o una tilde literal ( ~~).

Respuesta2

Debería haber muchas combinaciones en caso de coincidencia parcial… a continuación hay una que me gustaría compartir con ustedes.

=FILTER(VSTACK(FRR:SOD!G3:M200),
  (VSTACK(FRR:SOD!K3:K200<>"")*
  ((ISNUMBER(SEARCH("NEW*", VSTACK(FRR:SOD!K3:K200)))) +
  (ISNUMBER(SEARCH("*MANAGER", VSTACK(FRR:SOD!K3:K200)))) > 0))
  • Ahora déjame explicarte sobre ((ISNUMBER(SEARCH("NEW*"
  • Aquí en NUEVO* ,, * el carácter comodín asume más caracteres únicos.
  • Puede asumir ubicaciones como NUEVA Delhi, NUEVA York, NUEVA Jersey y otras.
  • Otro es (ISNUMBER(SEARCH("*MANAGER" , donde *MANAGER puede asumir EDP MANAGER, SALES MANAGER y otros.

NÓTESE BIEN

  • Puedes usar otro carácter comodín. ?según sea necesario.

  • AdemásMira este enlace .

Respuesta3

Agradezco los aportes de todos, aunque algunos son un poco complejos ya que todavía estoy aprendiendo poco a poco. Esta fórmula de otro foro funcionó exactamente como necesitaba y fue fácil para mí entenderla:

=FILTRO(VSTACK(FRR:SOD!G3:M200),IZQUIERDA(VSTACK(FRR:SOD!K3:K200),3)="ABC")

¡Gracias por toda tu ayuda!

información relacionada