jueves, 24 de enero de 2019

Calculando el cambio a devolver

Hoy toca algo sencillo pero muy práctico. Construiremos una calculadora de cambio.

Con una fórmula bastante simple sabremos en cada momento qué cambio devolver en una transacción y qué billetes y monedas en concreto dar.

Calculando el cambio a devolver



En el ejemplo si el importe a pagar es de 2.895,35 euros y se ha entregado un importe de 4.000,00 euros, el importe a devolver es: 1.104,65 euros devuelto en la siguiente forma:
2 billetes de 500 euros
1 billetes de 100 euros
2 monedas de 2 euros
1 moneda de 50 céntimos
1 moneda de 10 céntimos
1 moneda de 5 céntimos

Precisamente ese reparto de monedas y billetes es el que vamos a calcular.


Disponemos del valor facial de billetes y monedas en el rango C7:C21, mientras en D5 tenemos el importe a devolver.
En ese caso en D7 añadimos, para el primer caso:
=ENTERO(D$5/C7)
mientras que en D8 y siguientes:
=ENTERO(($D$5-SUMAPRODUCTO($C$7:C7;$D$7:D7))/$C8)

Calculando el cambio a devolver



El cálculo es simple. Sobre la cantidad pendiente a devolver, vemos respecto al valor de la moneda o billete correspondiente, las veces que cabe de forma completa dicho valor.
Por ejemplo, para el primer caso sobre lo pendiente de 1.104,65 euros caben dos billetes de 500 euros completos, pero no un tercero...
El siguiente valor pendiente sería de 1.104,65 menos los 1.000,00 anteriores (dos billetes de 500 euros), i.e., sobre 104,65 donde cabe 1 billete de 100 euros completo... y así sucesivamente.

Esto se consigue restando al valor original en D5 las entregas previas:
$D$5-SUMAPRODUCTO($C$7:C7;$D$7:D7)

El resto es simple, al dividir esa cantidad entre el valor facial de moneda o billete y quedarnos con su parte entera... asegurándonos que no se devuelve en exceso...
=ENTERO(($D$5-SUMAPRODUCTO($C$7:C7;$D$7:D7))/$C8)

2 comentarios:

Nota: solo los miembros de este blog pueden publicar comentarios.