¿Cómo agrupar varias columnas de fecha|datos en una sola columna de fecha a la izquierda?

¿Cómo agrupar varias columnas de fecha|datos en una sola columna de fecha a la izquierda?

Tengo un gran conjunto de datos que se parece a:

este

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 ColumnNdónde Nestá un número.

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 B23y complete hacia abajo y hacia arriba para completar la tabla de resultados.

ingrese la descripción de la imagen aquí

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.

información relacionada