Foros del Web » Soporte técnico » Ofimática »

Ayuda funcion condicional SI

Estas en el tema de Ayuda funcion condicional SI en el foro de Ofimática en Foros del Web. Hola, tengo un pequeño problema, o grande segun se mire. Tengo una hoja de excel para hacer mas faciles unas clasificaciones y resulta que no ...
  #1 (permalink)  
Antiguo 04/09/2006, 15:15
 
Fecha de Ingreso: agosto-2003
Mensajes: 6
Antigüedad: 20 años, 8 meses
Puntos: 0
Ayuda funcion condicional SI

Hola, tengo un pequeño problema, o grande segun se mire.

Tengo una hoja de excel para hacer mas faciles unas clasificaciones y resulta que no se como poner una de las formulas.

El tema es que quisiera que si en A1 pongo una cantidad entre 100 y 150 en A2 salga 25, Si en A1 pongo una cantidad entre 151 y 200 que en A2 salga 50, si en A1 pongo una cantidad entre 201 y 250 que en A2 salga 75 y asi sucesivamente.

Los numeros no son secuenciales aunque aqui lo parezcan. Necesito hasta 15 condicionles para cada celda, aunque las demas pueden ser copiar y pegar.

No se si me explico bien, si no es asi ampliare mas la informacion.




Saludos
  #2 (permalink)  
Antiguo 05/09/2006, 02:31
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 20 años, 4 meses
Puntos: 144
Prueba con esta fórmula, a ver si es lo que buscas:
Código:
=SI(A1>100;REDONDEAR.MAS(((A1-100)/50);0)*25;SI(A1=100;25;""))
Salu2
  #3 (permalink)  
Antiguo 05/09/2006, 04:18
 
Fecha de Ingreso: agosto-2003
Mensajes: 6
Antigüedad: 20 años, 8 meses
Puntos: 0
Cita:
Iniciado por 3pies Ver Mensaje
Prueba con esta fórmula, a ver si es lo que buscas:
Código:
=SI(A1>100;REDONDEAR.MAS(((A1-100)/50);0)*25;SI(A1=100;25;""))
Salu2
Muchas gracias por la ayuda prestada, funciona bien pero...

Me gustaria que me comentases, si no es molestia, como funciona la formula para poderla modificar en caso de que se modifiquen los parametros.

De hecho tendria que hacer otra igual pero con otras cifras y me gustaria que en vez de que me den el trabajo hecho interntar solucionar yo el tema, asi de paso aprendo un pelillo mas.

YA comente que es para hacer clasificaciones y las cantidades que deben insertarse a traves de la formula son bonificaciones, que en cualquier asamblea de socios se modifican los parametros y estaria igual que hoy.

La otra pregunta seria si esta formula se puede ampliar hasta los 15 o 20 registros???

Una prueba de lo que quiero es mas o menos esto:

La puntuación que se aplicará será la de 1 PUNTO POR GRAMO.
Se bonificarán con 1.000 puntos cada cubo mayor de 10 kg.
Se bonificarán con 2.500 puntos cada cubo mayor de 15 kg.
Se bonificarán con 5.000 puntos cada cubo mayor de 20 kg.
Se bonificarán con 7.500 puntos cada cubo mayor de 25 kg.
Se bonificarán con 10.000 puntos cada cubo mayor de 30 kg.
Se bonificarán con 15.000 puntos cada cubo mayor de 35 Kg.
Se bonificarán con 20.000 puntos cada cubo mayor de 40 Kg.
Se bonificarán con 25.000 puntos cada cubo mayor de 45 Kg.
Se bonificarán con 30.000 puntos cada cubo mayor de 50 Kg.

y en todo caso la mas larga seria:

75.000 puntos mayores de 130cm.
65.000 puntos de 125 a 130 cm.
55.000 puntos de 120 a 125 cm.
48.000 puntos de 115 a 120 cm.
42.000 puntos de 110 a 115 cm.
37.000 puntos de 105 a 110 cm.
32.000 puntos de 100 a 105 cm.
27.000 puntos de 95 a 100 cm.
22.000 puntos de 90 a 95 cm.
18.500 puntos de 85 a 90 cm.
14.000 puntos de 80 a 85 cm.
11.000 puntos de 75 a 80 cm.
9.000 puntos de 70 a 75 cm.
6.000 puntos de 65 a 70 cm.
5.000 puntos de 60 a 65 cm.
4.000 puntos de 55 a 60 cm.
2.000 puntos de 50 a 55 cm.

Hay mas tablas en funcion de las medidas y de los objetos a medir por eso pedia que me explicaras como funciona la formula.

Agracecer de nuevo la ayuda prestada.





Saludos
  #4 (permalink)  
Antiguo 05/09/2006, 06:02
 
Fecha de Ingreso: julio-2006
Ubicación: Madrid
Mensajes: 943
Antigüedad: 17 años, 9 meses
Puntos: 56
Hola,

Yo te diría que crearas en otra hoja aparte unas tablas con los valores que has mostrado en tu post, y le echaras un vistazo a la función de buscarv(categoría de búsqueda y referencia en el menú Insertar>>función), ya que la función SI permite un máximo de 7 condiciones anidadas.

Un saludo
  #5 (permalink)  
Antiguo 05/09/2006, 06:20
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 20 años, 4 meses
Puntos: 144
Si los rangos de datos son idénticos (por ejemplo de 50 valores cada uno de ellos, como en el ejemplo inicial), yo optaría por una fórmula como la que te indiqué. En caso contrario, es mejor utilizar una tabla anexa con los rangos de datos, y utilizar la función buscarv (con tabla de datos ordenados), tal y como te recomienda jchuk.

Si quieres saber lo que significa la fórmula que te puse incialmente, aquí te lo explico (o intento explicarlo):

Ya sabes que la fórmula condicional podría explicarse así:
=si(ocurre esto; entonces haz esto; sino haz esto otro)

Imagino que el problema lo tienes con el “entonces haz esto”, es decir, con la parte de en medio que es esta:

REDONDEAR.MAS(((A1-100)/50);0)*25

Para poder explicarlo, hay que ir por partes, y desmenuzar esa fórmula:

Cojamos primero A1-100.

¿Qué nos devuelve A1 – 100?. Pues ni más ni menos que la diferencia entre el valor de A1 y la cantidad de 100 . ¿Y por qué le restamos 100?. Pues porque 100 es la cantidad menor del rango inicial, para el cual deseas establecer ese valor de 25. Si en lugar de poner 25, para el rango entre 100 y 150, quisieras que pusiera 25 para el rango entre 50 y 150, entonces en la fórmula deberías poner 50, en lugar de 100 (porque 50 es el valor inicial del primer rango de datos).

Imaginemos que en A1 tenemos este valor: 233

Entonces, siguiendo con la fórmula A1-100:

233 – 100 = 133

Vale, vayamos a la segunda parte: Dividimos esa cantidad entre 50.

(A1-100)/50

¿Por qué dividirla entre 50?. Pues porque tus rangos de datos son idénticos y entre el valor máximo y el mínimo, la diferencia es 50. Es decir, entre 100 y 150 (primer rango de datos) hay 50. Entre 151 y 200, hay 50 (no 49, como parecería), y así sucesivamente. Es decir, siguen una progresión idéntica, cuyo término equidistante es 50, es decir, todos los rangos de datos son idénticos, y de 50 valores cada uno de ellos.

Siguiendo con el ejemplo, obtendríamos de esta parte de la fórmula (A1-100)/50, lo siguiente :

A1-100 = 133
133/50 = 2,66

Vale, ahora sabemos que hay 2,66 bloques (o 2,66 grupos, o 2,66 partes equidistantes) de 50 valores, entre 233 y 100. Eso significa lo siguiente:

De 100 a 150, es el primer bloque de esos 2,66.
De 151 a 200, es el segundo bloque de esos 2,66.
De 201 a 233, esa fracción de bloque de 0,66. En este último caso, nos interesa que en lugar de poner 0,66, nos ponga 1, porque para cualquier valor del rango que hay entre 201 y 233, sume otros 25 (y no solo si el valor es exactamente 250, porque solo para 250, esa división daría 3, en lugar de 2,X). Por eso redondeamos a la unidad siguiente con redondear.mas(cantidad;0)

Resumiendo, tenemos que redondear.mas(2,66;0) nos da 3.

Ahora ese 3 lo multiplicamos por 25, porque cada rango de datos (recuerda que hay 3 bloques de 50 o fracciones de 50) tiene como resultado 25.

Es decir:
Rango de 100 a 150: 25.
Rango de 151 a 200: 25 + 25 (o lo que es lo mismo, 25 por 2)
Rango de 201 a 250: 25 + 25 + 25 (o lo que es lo mismo, 25 por 3)

Por tanto, si el dato es 233, entonces tendrás como resultado 3*25, es decir, 75.

Respecto a tu segunda pregunta, puedes utilizar infinitos tramos o rangos, para esa fórmula, no solo 15 o 20. Si utilizas una tabla (sería recomendable, para los otros dos ejemplos que has puesto, pues no tienen rangos con valores equidistantes idénticos), y la función buscarv, puedes poner tantos rangos de datos como desees.

Salu2
  #6 (permalink)  
Antiguo 05/09/2006, 06:57
 
Fecha de Ingreso: agosto-2003
Mensajes: 6
Antigüedad: 20 años, 8 meses
Puntos: 0
3pies eres un crack

Muchas gracias por la explicacion, se entiende perfectamente. Eso em da pie a probar variantes que necesito y ademas me ayuda a entender un poco mas el proceso de las hojas de calculo.

Como habras observado no soy muy buen metematico, premisa fundamental, a mi entender, para dominar Excel.

Voy a probar la idea de Jchuk, que por cierto no se me habia ocurrido ni de lejos. Si no me acaba de funcionar volvere a dar la tabarrilla.

Muchas gracias por el tiempo que dedicais a ayudar a torpes como yo.





Saludos
  #7 (permalink)  
Antiguo 05/09/2006, 10:50
 
Fecha de Ingreso: agosto-2003
Mensajes: 6
Antigüedad: 20 años, 8 meses
Puntos: 0
10,000 15,000 1000
15,001 20,000 2500
20,001 25,000 5000
25,001 30,000 7500
30,001 35,000 10000
35,001 40,000 15000
40,001 45,000 20000
45,001 50,000 25000
50,010 800,000 30000






80,00 100,00 5000
100,01 120,00 10000
120,01 140,00 15000
140,01 160,00 20000
160,01 180,00 30000
180,01 200,00 40000
200,01 220,00 50000
221,00 800,00 60000







50,00 55,00 2000
55,01 60,00 4000
60,01 65,00 5000
65,01 70,00 6000
70,01 75,00 9000
75,01 80,00 11000
80,01 85,00 14000
85,01 90,00 18500
90,01 95,00 22000
95,01 100,00 27000
100,01 105,00 32000
105,00 110,00 37000
110,01 115,00 42000
115,01 120,00 48000
120,01 125,00 55000
125,01 130,00 65000
130,01 800,00 75000







50,00 55,00 2000
55,01 60,00 4000
60,01 65,00 5000
65,01 70,00 6000
70,01 75,00 8000
75,01 80,00 10000
80,01 85,00 12000
85,01 90,00 16000
90,01 95,00 19000
95,01 100,00 25000
100,01 110,00 30000
110,01 125,00 40000
125,01 130,00 50000







50,00 55,00 2000
55,01 60,00 3500
60,01 65,00 5000
65,01 70,00 7000
70,01 75,00 10000
75,01 80,00 15000
80,01 300,00 25000







50,00 60,00 2000
60,01 70,00 4000
70,01 200,000 5000







50,00 60,00 1000
60,01 70,00 2000
70,01 80,000 3000
80,010 300,000 4000



Lo siento pero no acierto con la formula. Esta seria la hoja 1

La primera fila es A, la segunda es B y la tercera es C

la formula me debiera reconocer la diferencia que hay entre las celdas A y B como topes limite para poder trasladar la cantidad de C a la hoja 2

El tema seria, contando solo las ultimas 4 filas, que en la hoja 2 pusiese 55 y la formula reconociese el que el valor esta entre 50 y 60 y el resultado de la formula fuese 1000; si pusiese el valor 110 la formula me diese 4000.

No se si se explicarme.

He intentado con las tres variantes de Buscar y me da error, algo hago mal.

Sabeis como puedo hacerlo???

Os lo agradezco. Y si no es molestia como actua la formula. Mas que nada por si hay que modificar algun dato de las columnas A, B o C no tenga que volver a molestaros.


Muchas gracias por vuestra atencion






Saludos
PD// Si hubiese otro sistema u otra formula tambien os lo agradeceria.
  #8 (permalink)  
Antiguo 06/09/2006, 02:50
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 20 años, 4 meses
Puntos: 144
Échale un vistazo a este ejemplo. Descárgalo a tu pc, porque puede que no te funcione on line.

Salu2
  #9 (permalink)  
Antiguo 06/09/2006, 08:01
 
Fecha de Ingreso: agosto-2003
Mensajes: 6
Antigüedad: 20 años, 8 meses
Puntos: 0
Es lo que andaba buscando. Muchas gracias por la ayuda prestada.

Ahora estoy intentando hacer la formula mas larga, que en una celda, dependiendo de lo que ponga en otra busque en un rango u en otro. Eso me ha salido basatante bien, lo que pasa es que si no hay datos me sale #N/A y claro el resto de formulas que estan relacionadas tampoco me dan un resultado.

Seguire intentando y si al final no soy capaz ya os dareis cuenta, jeje, estare por aqui de nuevo.


Reitero las gracias a los que haceis posible que torpes como yo seamos capaces de hacer funcionar los PC





Saludos
  #10 (permalink)  
Antiguo 06/09/2006, 08:44
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 20 años, 4 meses
Puntos: 144
A meter esta fórmula en la celda D23 del ejemplo anterior:
Código:
=SI(ESERROR(BUSCARV(D21;B4:D17;3));0;BUSCARV(D21;B4:D17;3))
Introduce en D21 en lugar de un número, una letra, y verás lo que ocurre.

Utiliza la función: SI, combinada con ESERROR.

En lugar de darte error, aparecerá un cero.

Salu2
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:34.