He estado buscando una forma de automatizar la transformación de datos en una tabla de Excel en una matriz. Por ejemplo, de la tabla izquierda a la matriz a la derecha, como se muestra en la siguiente imagen:
Aparentemente, PivotTable no resolverá este problema porque solo puede agregarse. Lo que necesito es mostrar los datos individuales.
¿Existe una función integrada en Excel que resuelva esta necesidad particular o tengo que usar VBA y, de ser así, cómo?
microsoft-excel
microsoft-excel-2007
vba
d_zeratul
fuente
fuente
Respuestas:
No existe una única función de Excel integrada para lograr lo que necesita. Puede combinar algunas funciones incorporadas de clasificación, movimiento y simples si es un requisito único, lo que supongo que sería bastante capaz de lograr sin ayuda, o use VBA.
La inferencia es que tiene muchas entradas (aunque eso supondría una pequeña diferencia para un requisito único) o que debe hacer esto con frecuencia. En cuanto a muchas preguntas de Excel aquí, la cantidad y la frecuencia son relevantes para la selección del enfoque apropiado y usted (y otros) pueden no obtener tan buenos consejos como lo contrario si dejan a aquellos dispuestos a responder para adivinar dichos detalles.
La complejidad aquí parece principalmente que tiene una relación de muchos a uno (en efecto, el
I
). En cuanto al "¿cómo?" de su pregunta, sugeriría (a) activar la grabadora de macros y completar el proceso como si fuera una vez (b) ordenar por Nivel dentro del Departamento (c) luego compensar y reposicionar los Departamentos para adaptarlos y finalmente (d) alinear para adaptarlos.Si tiene problemas específicos con su código, nuestro sitio hermano Stack Overflow tiene la magia necesaria para solucionarlos.
Pensamiento posterior: y una tabla dinámica puede ser adecuada como parte del proceso. Coloque los tres campos como Etiquetas de fila (de arriba hacia abajo: Departamento, Nivel, Nombre), Mover
Low
hacia abajo, Copiar / Pegar Especial / Valores y todo lo que queda es un pequeño reposicionamiento.fuente