¿Valores de texto en una tabla dinámica?

2

Tengo una tabla (en MySQL) con 3 columnas:

Location    Category     Supplier

   A        Computers    Company X
   A        Printers     Company Y
   B        Computers    Company X
   B        Printers     Company Y
   B        Software     Company Y
   C        Computers    Company Y
   C        Software     Company Z

Ahora necesito hacer una matriz que contenga la información anterior, así:

       Computers      Printers       Software

A      Company X      Company Y
B      Company X      Company Y      Company Y
C      Company Y                     Company Z

Eventualmente necesito tener esto en Excel.

En realidad, tengo un número variable de categorías, por lo que hacerlo en MySQL con una combinación para cada columna no es una buena opción. Podría escribir una función en PHP, pero me preguntaba si hay una solución más elegante.

Busqué tablas dinámicas en Excel, pero parecen solo adecuadas para números como valores. Pero tal vez estoy pasando por alto algo, ya que nunca trabajo con Excel.

Dylan
fuente
Duplicado exacto en stackoverflow. Debe preguntar solo en un lugar.
DavidEG
Lo siento, me di cuenta justo después de publicar en stackoverflow que esta no es realmente una pregunta de programación, así que lo puse aquí también
Dylan

Respuestas:

2

No sé si esto es tan "elegante" como esperaba, pero está en el camino correcto con la idea de la tabla dinámica. Solo tienes que hacer trampa un poco. Una "columna auxiliar", una tabla dinámica y la función "vlookup" pueden ser sus amigos aquí.

Primero, a los datos originales, agregue una columna auxiliar para un "Número de proveedor". Empresa X = 1, Empresa Y = 2, Empresa Z = 3. Puse la columna auxiliar como la primera columna, para un uso fácil más adelante en un vlookup. Tenga en cuenta que los datos ahora están en las celdas A5: D11.

ingrese la descripción de la imagen aquí

A continuación, gire los datos de esta manera. Utilicé la opción "diseño clásico de tabla dinámica" en la pestaña "Pantalla" del cuadro de diálogo "Opciones de tabla dinámica" (haga clic con el botón derecho en la tabla dinámica para abrir ese cuadro de diálogo).

ingrese la descripción de la imagen aquí

Seleccione y copie toda la tabla dinámica, luego "pegue valores / especiales" en otra ubicación al lado de la tabla dinámica original. Luego, en el cuerpo de la copia de la tabla, ingrese la fórmula que se muestra. Tenga en cuenta que la fórmula vlookup se refiere a la tabla dinámica original (la referencia "H7" - vea el diagrama anterior) y también al rango A5: D11 mencionado anteriormente.

ingrese la descripción de la imagen aquí

Como dije, no es elegante, pero funciona. ¡Hay muchas personas inteligentes que navegan por este sitio que probablemente encontrarán una solución "elegante" para usted!

F106dart
fuente
0

Me di cuenta de que puedes evitar la tabla dinámica por completo. Vea la captura de pantalla a continuación. Usa una columna auxiliar. Defina los rangos nombrados que se muestran. Configure su diseño como en G14: J18. En el cuerpo de la tabla, use BUSCARV con un SUMPRODUCT.

ingrese la descripción de la imagen aquí

F106dart
fuente