Saltar al contenido

Pedido de libros. Pasar contenido de un pedido que figura en varios registros a un solo registro


jorgepenalver

Recommended Posts

publicado

Hola a todos.

Tengo una tabla de unos 3000 registros de un pedido de libros de un colegio. Esta tabla la he obtenido con Power Query relacionando tres tablas de pedidos, alumnos y libros. 

  • Se genera una fila por cada detalle del pedido
  • Si un usuario ha pedido 5 libros se obtienen 5 filas.
  • En las 5 filas se repiten la clase del alumno (clase) el número de usuario (usuario), la matrícula del alumno (mat), sun dni (dni), la persona que realiza el pedido (inscriptor), la fecha (fecha), un campo que indica que se acepta la reserva (reserva) y el nombre del alumno (nombre).
  • Los datos diferentes de cada fila son el libro (libro) y el precio (precio) de cada detalle.
  • Si alguien ha pedido 5 libros se obtienen 5 filas en las que cambian los campos libro y precio.

La estructura de cada fila es esta.

CLASE - USUARIO - MAT - DNI - INSCRIPTOR - FECHA - RESERVA - NOMBRE - LIBRO - PRECIO

La tabla es perfecta porque me permite obtener todos los datos necesarios con una tabla combinada. Puedo hacer resúmenes por clase y ver que ha comprado cada alumno y ha cuanto asciende la factura de cada uno. También me permite pasarla a Access y generar reportes sin problemas, como facturas.

El caso es que me han pedido que la tabla la presente de otra forma. Desean un solo registro por cada usuario y que cada libro y precio sean columnas diferentes. La estructura sería así:

CLASE - USUARIO - MAT - DNI - INSCRIPTOR - FECHA - RESERVA - NOMBRE - LIBRO1 - PRECIO1- LIBRO2 - PRECIO2 - LIBRO3 - PRECIO3 - LIBRO4 - PRECIO4   - LIBRO5 - PRECIO5  - LIBRO6 - PRECIO6  - LIBRO7 - PRECIO7  - LIBRO8 - PRECIO8  - LIBRO9 - PRECIO9

El número de columnas de LIBRO Y PRECIO vendrá en función del pedido que contenga más libros.

No tengo problemas en generar algo así utilizando VBA, un bucle recorrería la tabla colocando cada libro en las columnas correspondientes poniendo un contador a cero cuando cambiase el número de matrícula. Sin embargo, me gustaría aprender a hacerlo con Excel  o Power Query, probablemente con la opción de dinamización, que desconozco por completo. 

Os adjunto un fichero de ejemplo del que he modificado los nombres y los dni. En el fichero se pude ver también la tabla dinámica que menciono. El fichero solo incluye 72 registros de 3 clases, el original tiene 3000 registros con más de 20 clases. Indicaros que el campo "Clase" no es numérico y puede contener letras.

Gracias a todos.

Jorge Peñalver.

 

 

libros_ejemplos.xlsx

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.