
Tengo una tabla de valores como esta en Excel:
Col1 Col2
---- ----
a 1
b 2
c 3
d 1
e 1
f 2
Quiero que la tabla de referencias cruzadas resultante se cree en función de algunas funciones:
NewCol1 NewCol2
------- -------
1 a, d, e
2 b, f
3 c
¿Como podría hacerlo? ¿Es posible?
Respuesta1
Coloque el cursor en cualquier lugar de su tabla y luego use Datos>Obtener y transformar datos>De tabla/rango. Si tiene una versión anterior de Excel, puede acceder a ella a través del complemento Power Query.
El Editor de Power Query debería abrirse y mostrarle esto:
Seleccione Col2 haciendo clic en el encabezado y use Inicio>Transformar>Agrupar por, así:
Cuando haga clic en Aceptar, verá que la suma Col1 provoca un error:
Use Inicio>Consulta>Editor avanzado, para que vea esto:
Ahora cambia la parte que dice esto:
List.Sum([Col1])
A esto:
Text.Combine([Col1],", ")
Para que tengas esto:
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Col1", type text}, {"Col2", Int64.Type}}),
#"Grouped Rows" = Table.Group(#"Changed Type", {"Col2"}, {{"Col1", each Text.Combine([Col1],", "), type text}})
in
#"Grouped Rows"
Al hacer clic en Aceptar obtendrá los resultados que desea:
Ahora puede usar Inicio>Cerrar y cargar para cargar los resultados en su libro de trabajo. Cuando se agregan nuevos datos a la tabla de origen, simplemente haga clic derecho en la tabla en el libro y elija "Actualizar" para ejecutar la transformación nuevamente.