Ayuda con una ecuación EXCEL

LzO

Llevo toooooodo el día dandole duro a una hoja de cálculo que estoy desarrollando, tengo la cabeza que me va a rebentar de darle vueltas y desarrollar tanta línea matemática y de condiciones...

resulta que he llegado a un sitio de la hoja donde tengo que cálcular unos precios que van subiendo segun cantidad

por ejemplo

entre 0 y 250 unidades = precio 0,20
entre 251 y 500 unidades = precio 0,21
entre 501 y 750 unidades = precio 0,22
entre 751 y 1000 unidades = precio 0,23
entre 1001 y 1250 unidades = precio 0,24
entre 1251 y 1500 unidades = precio 0,25
entre 1501 y 1750 unidades = precio 0,26
entre 1751 y 4000 unidades = precio 0,27

todo esto, aunque estoy convencido que existe cualquier otro metodo más simplificado, lo he hecho todo con condiciones SI(CELDA<250;0,20;SI(Y(CELDA>=250;CELDA<500;.....BLABLA

Pero aquí viene lo que me trae de cabeza (si, mi capacidad para desarrollar ecuaciones ahora mismo no son muy fluidas, llevo toda la tarde metido en excel xD)

por encima de 4000 unidades, los precios son fijos a 0,60 y por cada 100 unidades que sobrepasen las 4000 hay que añadirle un recargo de 0,01

osea que

entre 4000 y 4099 unidades = precio 0,60
entre 4100 y 4199 unidades = precio 0,61

así hasta el "infinito", bueno en realidad hasta no superar 1,20 de precio unitario, donde el precio ya no sube más.

y hacer eso con condiciones IF se que no sería lo más optimo.

agradecería alguna sugerencia

besos abrazos y feliz año

charl1

Buenas Lzo,

Si la cantidad que se incrementa es fija, puedes dividir la celda entre esa cantidad y luego redondeas con 0 decimales, el resultado que te de le aplicas unos if, aunque tal como lo haces no lo veo mal, mas bien trabajo de chinos pero si va a ser fijo y no muy largo..

Por ejemplo:

Incremento fijo: 250

Celda1 = 145 / 250 = 0,... => redondeo 0 => precio 0,20
Celda2 = 985 / 250 = 3,... => redondeo 3 = > precio 0,23

etc..

A partir de 4000 aplicas el mismo algoritmo con un par de matices.
Por Ejemplo:

Incremento fijo: 100
Celda3 = (4512 - 4000) / 100 = 5,12 => Redondeo 5 => 5*0.01 + 0.6 => 0.65

Espero haberme explicado bien.
Yo no se de visual script pero seria mucho mas sencillo con una division inicial y un switch que ir anidando los ifs, pero si es la unica manera pues adelante.

Un saludo

1 1 respuesta
LzO

#2 gracias, la verdad es que algo de eso se me estaba pasando por la cabeza, de dividir, pero no terminaba de sacar esa idea xD

igual bueno lo haré con IF, como es un proyecto personal si veo q la cosa va subiendo voy añadiendo IF mientras tanto.

visual script aún no lo manejo aunque hace años toque algo de visual basic, imagino sera lo mismo o parecido.

gracias por tu aporte

wineMan

-

1 respuesta
LzO

#4 Nos hemos leído el pensamiento, he añadido una hoja de excel al libro donde tengo todos los datos almacenados, digamos que es una hoja de "configuracion" y que todo lo coja de ahí, así me evita las mega formulas xD

Lo que no se me había ocurrido era el BUSCARV

Gracias

1

Usuarios habituales

  • LzO
  • wineMan
  • charl1