Saltar hasta el contenido principal
Preguntado el año pasado

Hola! Despues de crear un formulario para escoger asignaturas optatives de bachillerato, el spreadsheet genera columnas con celdas en blanco. Queria buscar una formula que me eliminara las celdas en blanco. Os dejo una captura para explicar que tenia y que queria obtener. He encontrado esta formula que funciona: =ArrayFormula(SUBSTITUTE(SPLIT(TRIM(TRANSPOSE(QUERY(TRANSPOSE(FILTER(SUBSTITUTE(A3:F8;" ";"♥");MMULT(LEN(A3:F8);SEQUENCE(COLUMNS(A3:F8);1;1;0))));;1E+100)));" ");"♥";" ")) El problema es que no entiendo todo lo que hace esta instrucción! Como puedo llegar a secuenciar lo que hace para entenderlo? Muchas gracias!

Inscríbete en la comunidad GEG Spain para realizar preguntas y pedir ayuda a la comunidad.

¿Te has fijado que lo que hace es concatenar los contenidos de las celdas uniéndolos con corazoncito para luego separarlos?

=ArrayFormula(  
SUBSTITUTE(  
SPLIT(  
TRIM(  
TRANSPOSE(  
QUERY(  
TRANSPOSE(  
FILTER(  
SUBSTITUTE(A3:F8;" ";"♥"); Sustituye las celdas vacías por
MMULT(Multiplica las dos matrices que figuran a continuación dando como resultado una nueva matrizObtiene una matriz que indica las celdas ocupadas
LEN(A3:F8);Esta matriz obtiene la longitud del texto que hay en cada una de las celdas del intervalo 
SEQUENCE(COLUMNS(A3:F8);1;1;0)Esta función crea una "secuencia" de datos a partir del número de columna del intervalo indicado 
)Cierra la función MMULT 
)  
);  
;  
1E+100)  
)  
);  
" ");  
"♥";" ")  
)  
   

=ArrayFormula(SUBSTITUTE(SPLIT(TRIM(TRANSPOSE(QUERY(TRANSPOSE(FILTER(SUBSTITUTE(A3:F8;" ";"♥");MMULT(LEN(A3:F8);SEQUENCE(COLUMNS(A3:F8);1;1;0))));;1E+100)));" ");"♥";" "))