Función si en excel

Tengo un problema en la hoja de calculo siguiente:
A2 stock=10    B2 costemedio= 4 ?  C2 valorc_m=A2*B2
D2 entradascant=0  E2 entradasimp=0  
F2 newcostemedio= SI(E2<>0;((E2+C2))/(D2+A2));B2)
El resultado de F2 sería B2, ya que E2 es igual a 0
A3 stock=10   B3 costemedio=4?    C3 valorc_m=A3*B3
D3 entradascant=10  E3 entradasimp=50  
F3 newcostemedio= SI(E3<>0;((E3+C3))/(D3+A3));B3)
El resultado correcto de F3 sería  4,5 ? (50+40)/(10+10)
Hasta aquí todo bien, pero cuando el stock es negativo, los resultados salen incorrectos.
Veamos,
A4 stock=-10   B4 costemedio=4?    C4 valorc_m=A4*B4
D4 entradascant=20  E4 entradasimp=100  
F4 newcostemedio= SI(E4<>0;((E4+C4))/(D4+A));B4)
Si aplicáramos la fórmula, ¿el resultado seria 6?, pero este valor es incorrecto, y por normas de la empresa el coste medio sería el resultado de la nueva entrada, ¿es decir 100/20 = 5?
Lo intenté resolver con una fórmula de dos condicionantes
SI(E4<>0;SI(A4>0;((E4+C4)/(D4+A4));SI(E4<>0;SI(A4<0;(E4/D4));B4)))
En principio con esta fórmula me sale bien,
pero cuando E4 entradasimp=0 el resultado es "FALSO" y sinceramente no lo sé resolver, ni siquiera cuando incluyo una tercera condición de SI(E4=0;B4).
No tengo conocimientos de Macros, y supongo que no será muy difícil la fórmula, por lo que te ruego encarecidamente tu ayuda.
Gracias anticipadas
Respuesta
1
Prueba con esta fórmula a ver si funciona como lo deseas y pruébalas en todas la filas
=SI(Y(E4>=0;A4>0);(E4+C4)/(D4+A4);E4/D4)
Creo que es lo que necesitas si mal no he entendido, si así fuese puntúa y finaliza sino consúltame de vuelta
El problema sigue exisitiendo, cuando d4 y E4= 0 lógicamente contesta a la segunda condición, (0/0) lógicamente respuesta incorrecta. Estoy intentando corregirlo con la función si Error, ya que cuando d4 y e4 =quiero que conteste b4.
Saludos,
Entonces cambia el ultimo parámetro "E4/D4" por
si(eserror(E4/D4);B4;E4/D4)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas