filter - query - Formulario de Hojas de Cálculo de Google para crear un rango de salida único de 1 columna de todos los valores únicos en el rango de "lista irregular"
hoja de calculo google filter (1)
Documento: https://docs.google.com/spreadsheets/d/1N4cGw5eUq_3gCJh1w39qVatX9KV1_Hr-AqRHj_nbckA/edit?usp=sharing
Expectativa de datos
En Current Class!H3
, los datos de la tabla son los datos que se presentan en el menú desplegable.
¡Esta información proviene directamente de Meta!B7:B
...
... que puede provenir de una de las columnas de Students!$J$5:$O
¡La columna está determinada por el valor en la Current Class!B3
Current Expected | Example Data Expect
--------------- -------- | ------------ ------
1) M1, M2, M3, M4 M1 | 1) M1, M2 ---> M1
2) M2 M2 | M2
3) M3 ---> M3 | --------------------------
4) M4 M4 | 1) T4 M2
5) M5 M5 | 2) M2 ---> T4
6) M4, M5, M6 M6 | 3) TH3 TH3
Como podría determinar, tengo una posible lista de elementos en una sola fila (Esto indica que 1 estudiante tiene múltiples clases en una sala específica, en este caso, el aula de Yale
).
Lo que quiero es separar las listas en elementos individuales y producir un rango de salida de 1 columna de valores únicos.
He intentado usar la función SPLIT()
. Aunque eso rompe cada elemento, pero no puedo encontrar una solución para aplanar los resultados a 1 columna solamente. Pero ahora tengo la siguiente fórmula en Meta!B7
...
=iferror(Sort(Unique(Filter(Students!$J$5:$O, Find($B$6, Students!$J$4:$O$4) > 0 )), 1, true), "")
.
Editar: gritos, se olvidó de ordenarlo.
Esto parece funcionar:
=sort(unique(transpose(split(substitute(JOIN(", ",offset(Students!$I$5:$I$91,0,match($B$6,Students!$J$4:$O$4))),",","")," ",TRUE))),1,TRUE)
Eso:
- Compensaciones para encontrar la referencia de habitación correcta,
- Une todas las filas en una cadena con "," separando cada valor,
- Quita todas las comas y divide la cadena en espacios (""),
- Transpone para obtener una matriz de filas, y luego selecciona las únicas.
¡Interesante desafío!