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 usoVSTACK()
que agrega datos de varias hojas en una que consta de un rangoG3:M200
de hojasFRR
ySOD
δ
La variable se define como el uso deINDEX()
una función para extraer5th
de la matriz devuelta enα
- Usar
XMATCH()
con un operador comodínAsterix
* que significaZero
y cualquier número de caracteres. En este caso de uso, se utiliza la ubicaciónABC *
y busca cualquier ubicación que comienceABC
y termine con cualquiera asignadajob/position
en la misma ubicación de la matrizδ
. - Si se encuentra una coincidencia, entonces podemos usar
ISNUMBER()
para devolverTRUE
o1-ISNA()
también se puede usar que hace lo mismo, es decir, primeroISNA()
devuelveTRUE
donde#N/A
se resta el error, lo que da como resultadoTRUE
lo mismo que hacer conISNUMBER()
- Por último, envolver dentro de
FILTER()
la función para extraer dónde hayTRUE
.
Notas:
• Excel tiene3 comodinesuno puede usar en sus fórmulas:
- Asterisco(
*
) --> Cero o más caracteres. - Signo de interrogación(
?
) --> cualquier carácter. - 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!