Transforme valores delimitados con niveles de jerarquía en asignaciones individuales

Transforme valores delimitados con niveles de jerarquía en asignaciones individuales

Tengo una lista de usuarios delimitados y sus niveles asignados en una jerarquía. Me gustaría tener cada usuario en su propia fila, pero mantener los niveles asignados al original.

Esto es con lo que empiezo:

Esto es con lo que me gustaría terminar:

Tengo cientos de filas y múltiples niveles de jerarquía, por lo que solo un texto en columnas y c/p requiere demasiado tiempo.

Preferiría una solución sin vba si es posible.

Respuesta1

Con Office 365:

=LET(
    us,A2:A201,
    hr,B2:D201,
    ttl,A1:D1,
    VSTACK(ttl,DROP(REDUCE("",us&"|"&BYROW(hr,LAMBDA(z,TEXTJOIN("{",FALSE,z))),LAMBDA(a,b,LET(c,TEXTAFTER(b,"|"),VSTACK(a,HSTACK(TEXTSPLIT(TEXTBEFORE(b,"|"),,";"),DROP(TEXTSPLIT(REPT(c&"}",ROWS(TEXTSPLIT(b,,";"))),"{","}"),-1)))))),1)))

Básicamente, dividirá el texto en el ;rango us(Usuario). Luego repite los valores por fila en el hrrango (jerarquía). Luego los apila horizontalmente.

REDUCE luego apilará la salida de cada fila verticalmente. Finalmente apilamos en el ttlrango (título).

ingrese la descripción de la imagen aquí

Respuesta2

  1. Seleccione el rango de datos y vaya al INSERTmenú

ingrese la descripción de la imagen aquí

  1. Seleccione TABLEy marque/desmarque My Table Has Headerssegún corresponda.

ingrese la descripción de la imagen aquí

  1. Seleccione su rango de datos, vaya al DATAmenú y haga clicFrom Table/Range

ingrese la descripción de la imagen aquí

  1. En Power Query Editor, seleccione column1, haga clic en Split Columny haga clic en By Delimiter.

ingrese la descripción de la imagen aquí

  1. Ingrese ;como su delimitador personalizado y haga clic en okay.

ingrese la descripción de la imagen aquí

  1. Seleccione Column2luego el menú desplegable Unpivot Columnsy luego seleccione Unpivot Other Columns.

ingrese la descripción de la imagen aquí

  1. Seleccione la Attributecolumna.

ingrese la descripción de la imagen aquí

  1. Haga clic derecho en la columna y seleccioneRemove

ingrese la descripción de la imagen aquí

  1. Desde el HOMEmenú, haga clic enClose and Load

ingrese la descripción de la imagen aquí

información relacionada