Siguiente con el ejemplo anterior, ahora, en la tabla ventas1, tenemos una columna más, que es envío.
Además, tenemos una tabla, llamada pesos, con el peso de cada producto.
El envío se basa es peso, vendemos una cantidad de un producto, y, el peso de cada producto, lo tenemos en la tabla pesos, si tuviéramos el peso total en la tabla pesos, vemos en la tabla ventas2, que las tres primeras líneas es la corresponde al mismo número de factura.
Podría calcular el peso de cada línea, dividiéndolo por el peso total, mientras que cuando hemos calculado el porcentaje, un porcentaje corresponde a una factura, aunque, aparezcan diversas líneas con el mismo número de facturas, le correspondería el mismo porcentaje, pero para el calculo del peso, hay un peso diferente para cada producto, y, una cantidad diferente para cada producto.
Vamos a calcular el peso total para cada línea, entonces, necesitamos buscar cada producto, en la tabla pesos, y, que nos devuelva su peso, y, luego multiplicarlo por la cantidad, para encontrar el peso de cada producto, voy a usar la función BUSCARV.
Como primer argumento, valor buscado, seleccionamos el primer producto de la columna producto de la tabla ventas2.
=BUSCARV([@Producto];
Como argumento matriz, seleccionamos la tabla pesos.
=BUSCARV([@Producto];Pesos;
Como argumento indicador de columnas, ponemos 2.
=BUSCARV([@Producto];Pesos;2;
Y, como tipo de coincidencia, ponemos exacta.
Cerramos paréntesis, y, aceptamos.
=BUSCARV([@Producto];Pesos;2;0)
Tenemos el peso de cada producto.
Ahora, debemos de multiplicar este resultado por la cantidad.
=BUSCARV([@Producto];Pesos;2;0)*[@Cantidad]
Ahora, vamos a la tabla ventas1, donde vamos a calcular el peso total, pero no será el total, voy a agregar una nueva columna a la tabla ventas1, llamada también, peso total.
Tenemos un numero de factura, y, un peso (tabla: Ventas2), voy a calcular el total de peso para cada numero de factura de la tabla ventas1, para ello, voy a usar la función SUMAR.SI.CONJUNTO, donde como primer argumento, rango de suma, selecciono la columna de total peso de la tabla ventas2.
=SUMAR.SI.CONJUNTO(Ventas2[Peso total];
Como argumento rango de criterios1, selecciono la columna numero de factura, de la tabla ventas2.
=SUMAR.SI.CONJUNTO(Ventas2[Peso total];Ventas2[Numero de factura];[@[Numero de factura]])
Como argumento criterio1, seleccionamos la celda con la primera factura de la tabla ventas1.
Cerramos paréntesis, y, aceptamos.
=SUMAR.SI.CONJUNTO(Ventas2[Peso total];Ventas2[Numero de factura];[@[Numero de factura]])
Tenemos el total de peso para cada factura, vemos que para la primera factura tenemos un total de 625.
Si vamos a la tabla ventas2, las tres primeras facturas es igual que la primera factura de la tabla ventas1, si las seleccionamos, y, miramos en la barra de estado, veremos que la suma de dichas facturas, es de 625.
Ahora, en la tabla ventas2, debo de calcular del total de cada factura, cuanto le corresponde a cada factura en la tabla ventas2, es decir, en la tabla ventas1, tenemos el total peso para la factura 125447, y, en la tabla ventas2, tenemos tres líneas con numero de factura 125447, quiere decir que debo de dividir el peso total entre estas líneas para calcular la proporción para cada línea.
Voy a añadir una nueva columna a la tabla ventas2, escribo el signo igual, y, señalo la columna peso total de la tabla ventas2.
=Ventas2[@[Peso total]]
Ahora, lo divido, pero he de usar la función BUSCARV, para encontrar el numero de factura de la tabla ventas2, en la columna numero de factura de la tabla ventas1, y, que nos devuelva la columna de peso total.
=[@[Peso total]]/BUSCARV([@[Numero de factura]];Ventas1[[Numero de factura]:[Peso total]];8;0)
Ya tenemos la tasa decimal para cada línea, si sumamos la proporción de cada línea para la factura 125447, vemos que nos devuelve 1, por lo que el cálculo es correcto.
Para entenderlo mejor, para un peso de 625 para la factura 125447, es de 98.70 euros, pero como tenemos tres líneas para la factura 125447, debemos de calcular la proporción para cada línea.
La línea que solo contiene una fila, como tasa decimal aparece 1.
Ahora, tengo que multiplicar por el envío que corresponde con cada factura, donde debo de usar de nuevo la función BUSCARV, para encontrar el envío correspondiente a cada factura.
=[@[Peso total]]/BUSCARV([@[Numero de factura]];Ventas1[[Numero de factura]:[Peso total]];8;0)*BUSCARV([@[Numero de factura]];Ventas1[[Numero de factura]:[Precio de coste]];2;0)
Ya tenemos el coste de envío para cada factura.
Si volvemos a fijarnos en la tres primeras líneas, tenemos un coste de envío para cada línea de:
Es decir, el primer producto nos cuenta enviarlo 9,95, el segundo nos cuesta 55,56, y, el tercero nos cuesta 33,16, que, si sumamos las tres cantidades, nos da el importe total para la factura 125447.
Comments