Tengo un gran conjunto de datos que se parece a:
y he estado intentando darle formato para que en lugar de tener una columna de fechas para cada elemento, solo haya una columna de fechas a la izquierda. El problema es que a algunos de ellos les faltan fechas y no sé cómo insertar una celda en blanco para esas fechas ni hacer que todos los datos coincidan con la fecha correcta.
Respuesta1
Si NO tiene O365, le sugiero una solución VBA o Power Query.
Sin embargo, si tienes Excel O365, puedes probar lo siguiente:
- Cree una tabla a partir de sus datos (el nombre de mi tabla es
Table5
; ajuste las fórmulas para que coincidan con el nombre de su tabla).- Al hacerlo, se colocarán automáticamente encabezados en las columnas en blanco con nombres como
ColumnN
dóndeN
está un número.
- Al hacerlo, se colocarán automáticamente encabezados en las columnas en blanco con nombres como
Dado que mis resultados comienzan en A22 (ver más abajo)
Fórmulas:
Una lista ordenada de las fechas únicas de su tabla original:
A23: =SORT(UNIQUE(FILTERXML("<t><s>" & TEXTJOIN("</s><s>",TRUE,INDEX(Table5,SEQUENCE(ROWS(Table5)),SEQUENCE(,COLUMNS(Table5)/2,1,2))) & "</s></t>","//s")))
Una lista de las corporaciones:
B22: =FILTER(Table5[#Headers],ISERR(FIND("Column",Table5[#Headers])))
Devuelve los valores coincidentes
B23: =LET(x,INDEX(Table5,SEQUENCE(ROWS(Table5)),SEQUENCE(,2,MATCH(B$22,Table5[#Headers],0)-1)),y,XLOOKUP($A23,INDEX(x,0,1),INDEX(x,0,2),""),y)
Seleccione B23
y complete hacia abajo y hacia arriba para completar la tabla de resultados.
Explicación de la fórmula de fechas únicas:
INDEX(Table5,SEQUENCE(ROWS(Table5)),SEQUENCE(,COLUMNS(Table5)/2,1,2))
devolverá una tabla que contiene solo las columnas impares (que son las columnas de fecha)
TEXTJOIN("</s><s>",TRUE,the_odd_column_table)
une todas las entradas en esas columnas de fecha en una sola cadena con el delimitador especificado
FILTERXML("<t><s>" & the_joined_string & "</s></t>","//s")))
crea un XML y luego devuelve una matriz de nodos(que serán las fechas de la tabla original).
SORT(UNIQUE(the_dates_array))
hace lo obvio.