Crear una factura de producto dinámica en Excel

Crear una factura de producto dinámica en Excel

Estoy intentando crear una factura dinámica en Excel. La parte dinámica es que el usuario puede elegir de una lista para qué tienda es la factura. Estoy intentando que los artículos disponibles se completen después de seleccionar la tienda.

En una hoja de mi libro de trabajo tengo todas las tablas diferentes que definen las tiendas, los productos y los productos que vende cada tienda (registros de intersección entre los dos). En mi ejemplo, "Corner Market" vende: los 4 productos, pero "Tim's Hardware" solo vende arandelas de 1/2" y juegos de brocas.

Me gustaría generar una tabla dinámica como la de N5 y N23 en la captura de pantalla vinculada cada vez que el usuario elige la tienda adecuada (N3 y N21). Por lo tanto, la tabla debería cambiar a medida que cambia el valor del Nombre de la tienda. (Solo estoy interesado en generar una factura, pero incluí 2 en la captura de pantalla como ejemplo). Luego, el usuario puede ingresar los valores de cantidad para generar el precio de cada artículo de línea y el monto total de la factura.

Estoy buscando consejos sobre la mejor manera de lograr algo como esto. Si es posible, intento evitar el uso de macros de VBA. Supongo que una tabla dinámica puede ser la solución, o tal vez algo relacionado con las relaciones de datos (con las que no estoy muy familiarizado).

Captura de pantalla:https://i.stack.imgur.com/ICZDW.png

¡Cualquier ayuda se agradece, gracias por adelantado!

Respuesta1

Puede agregar las 3 tablas al modelo de datos de Power Pivot.

Pero tenga en cuenta que Power Pivot se puede encontrar en los productos de Office mencionados en '¿Dónde está PowerPivot?'. Las relaciones entre ellos son las siguientes en la imagen.

ingrese la descripción de la imagen aquí

ElID de tiendaen la tabla 2 yID del ProductoEn la tabla 3 se encuentran los campos de clave principal.

Luego puedes crear una tabla Power Pivot.

ingrese la descripción de la imagen aquí

ElNombre de la tiendapuede ser un campo de filtro. El Nombre del producto puede ser un campo de fila y el Precio unitario puede ser un campo de valor.

Pero las columnas Cantidad y Precio se pueden escribir en las siguientes columnas.

Debajo del título Precio, puede ingresar la fórmula =IF(P12="","",GETPIVOTDATA("[Measures].[Sum of Unit Price]",$N$11,"[Table3].[Product Name]","[Table3].[Product Name].&[1/2"" Washer]")*P12); suelte la fórmula para cubrir un rango de datos lo suficientemente grande. Como selecciono el rango deQ12:Q21para obtener los valores de los precios. La parte deGETPIVOTDATA("[Medidas].[Suma del precio unitario]",$N$11,"[Tabla3].[Nombre del producto]","[Tabla3].[Nombre del producto].&[1/2"" Lavadora]" )En su lugar, se puede utilizar el ratón para elegir O12.

Para Total, puede ingresar la fórmula =IF(SUM(Q12:Q21)>0,SUM(Q12:Q21),"").

ingrese la descripción de la imagen aquí

información relacionada