Cuantos SI caben en una casilla de excel
Cerrado
pacopillotol
Mensajes enviados
1
Fecha de inscripción
martes, 2 de febrero de 2010
Estatus
Miembro
Última intervención
martes, 2 de febrero de 2010
-
2 feb 2010 a las 23:31
Baez - 10 sep 2015 a las 00:32
Baez - 10 sep 2015 a las 00:32
Consulta también:
- Cuantos SI caben en una casilla de excel
- Copiar datos de una hoja a otra en excel - Guide
- Descargar excel gratis - Programas - Hojas de cálculo
- Como poner color en una celda de excel con fórmula si - Guide
- Como dar enter en una celda de excel - Guide
- Datedif excel - Guide
4 respuestas
No tienes que utilizar código de visual basic applications (VBA) la solución es más sencilla. Como por defecto excel 2003 no permite más de siete niveles de anidación, has de utilizar celdas auxiliares para solucionar tu problema. Me explico mejor:
Tu haces tu fórmula anidada en la celda A1 como por ejemplo así
=SI(F1=1;"UNO";SI(F1=2;"DOS";SI(F1=3;"TRES";SI(F1=4;"CUATRO";SI(F1=5;"CINCO";SI(F1=6;"SEIS";B1))))))
En esta fórmula ya has anidado seis niveles y al final, como necesitas más niveles, después de "SEIS" en el último nivel haces referencia a una celda auxiliar, en este caso la B1 y ya solo tienes que irte a la celda B1 y poner más niveles de anidación en esta celda de la siguiente manera
=SI(F1=7;"SIETE";SI(F1=8;"OCHO";SI(F1=9;"NUEVE";SI(F1=10;"DIEZ";SI(F1=11;"ONCE";SI(F1=12;"DOCE";""))))))
Con esto ya tienes más niveles y si necesitaras más, con volver a utilizar otra celda auxiliar lo tendrías solucionado.
Espero haberte ayudado. Salu2
Tu haces tu fórmula anidada en la celda A1 como por ejemplo así
=SI(F1=1;"UNO";SI(F1=2;"DOS";SI(F1=3;"TRES";SI(F1=4;"CUATRO";SI(F1=5;"CINCO";SI(F1=6;"SEIS";B1))))))
En esta fórmula ya has anidado seis niveles y al final, como necesitas más niveles, después de "SEIS" en el último nivel haces referencia a una celda auxiliar, en este caso la B1 y ya solo tienes que irte a la celda B1 y poner más niveles de anidación en esta celda de la siguiente manera
=SI(F1=7;"SIETE";SI(F1=8;"OCHO";SI(F1=9;"NUEVE";SI(F1=10;"DIEZ";SI(F1=11;"ONCE";SI(F1=12;"DOCE";""))))))
Con esto ya tienes más niveles y si necesitaras más, con volver a utilizar otra celda auxiliar lo tendrías solucionado.
Espero haberte ayudado. Salu2
Para ser más amplio en el tema, te explicaré como hacer una función con tres variables.. Sexo, Edad y % Grasa.
Este ejemplo lo que hará es considerar las siguiente condiciones:
Si una mujer en la edad de 18 a 39 y su grasa corporal es entre 0 a 21 es condiderada baja en grasa, si su grasa es entre 22 a 33 es considerada normal en grasa, si es 34 a 39 alto en grasa; mayor a 39 es considerada obesidad.
igual para las edades de 40 a 59, 0 a 23 bajo en grasa, 24 a 34 normal en grasa, 35 a 40 alto en grasa, 40 > obesidad.
para complicar mas las cosas, haremos las edades entre 60 a 99 años, 0 a 24, bajo en grasa, 25 a 36 normal en grasa, 37 a 42 alto en grasa y 42 es considerado obesidad.
Y si no es suficiente haremos lo mismo para hombres... pero lean la prog para comprender un poco más:
Accederemos al Editor de VBA presionando Alt+F11, y ya dentro del Editor insertaremos un modulo (Menú Insertar > Modulo), haciendo doble clic en el módulo copiaremos el siguiente código:
'creamos una función con tres variables - Sexo, Edad y % grasa
Public Function Grasa(sexo, edad, Porcgra)
'definimos categorías para mujeres
If sexo = "M" And edad >= 18 And edad <= 39 And Porcgra >= 0 And Porcgra <= 21 Then Grasa = "bajo en grasa"
If sexo = "M" And edad >= 18 And edad <= 39 And Porcgra >= 22 And Porcgra <= 33 Then Grasa = "normal en grasa"
If sexo = "M" And edad >= 18 And edad <= 39 And Porcgra >= 34 And Porcgra <= 39 Then Grasa = "alto en grasa"
If sexo = "M" And edad >= 18 And edad <= 39 And Porcgra > 39 Then Grasa = "obesidad"
If sexo = "M" And edad >= 40 And edad <= 59 And Porcgra >= 0 And Porcgra <= 23 Then Grasa = "bajo en grasa"
If sexo = "M" And edad >= 40 And edad <= 59 And Porcgra >= 24 And Porcgra <= 34 Then Grasa = "normal en grasa"
If sexo = "M" And edad >= 40 And edad <= 59 And Porcgra >= 35 And Porcgra <= 40 Then Grasa = "alto en grasa"
If sexo = "M" And edad >= 40 And edad <= 59 And Porcgra > 40 Then Grasa = "obesidad"
If sexo = "M" And edad >= 60 And edad <= 99 And Porcgra >= 0 And Porcgra <= 24 Then Grasa = "bajo en grasa"
If sexo = "M" And edad >= 60 And edad <= 99 And Porcgra >= 25 And Porcgra <= 36 Then Grasa = "normal en grasa"
If sexo = "M" And edad >= 60 And edad <= 99 And Porcgra >= 37 And Porcgra <= 42 Then Grasa = "alto en grasa"
If sexo = "M" And edad >= 60 And edad <= 99 And Porcgra > 42 Then Grasa = "obesidad"'
definimos categorías para hombres
If sexo = "H" And edad >= 18 And edad <= 39 And Porcgra >= 0 And Porcgra <= 8 Then Grasa = "bajo en grasa"
If sexo = "H" And edad >= 18 And edad <= 39 And Porcgra >= 9 And Porcgra <= 20 Then Grasa = "normal en grasa"
If sexo = "H" And edad >= 18 And edad <= 39 And Porcgra >= 21 And Porcgra <= 25 Then Grasa = "alto en grasa"
If sexo = "H" And edad >= 18 And edad <= 39 And Porcgra > 25 Then Grasa = "obesidad"
If sexo = "H" And edad >= 40 And edad <= 59 And Porcgra >= 0 And Porcgra <= 11 Then Grasa = "bajo en grasa"
If sexo = "H" And edad >= 40 And edad <= 59 And Porcgra >= 12 And Porcgra <= 22 Then Grasa = "normal en grasa"
If sexo = "H" And edad >= 40 And edad <= 59 And Porcgra >= 23 And Porcgra <= 28 Then Grasa = "alto en grasa"
If sexo = "H" And edad >= 40 And edad <= 59 And Porcgra > 28 Then Grasa = "obesidad"
If sexo = "H" And edad >= 60 And edad <= 99 And Porcgra >= 0 And Porcgra <= 13 Then Grasa = "bajo en grasa"
If sexo = "H" And edad >= 60 And edad <= 99 And Porcgra >= 14 And Porcgra <= 25 Then Grasa = "normal en grasa"
If sexo = "H" And edad >= 60 And edad <= 99 And Porcgra >= 26 And Porcgra <= 30 Then Grasa = "alto en grasa"
If sexo = "H" And edad >= 60 And edad <= 99 And Porcgra > 30 Then Grasa = "obesidad"
End Function
Ya podremos utilizar nuestra función Grasa en nuestra Hoja de cálculo, sobre tres celdas
=GRASA(sexo; edad; %grasa)
espero puedas adaptar estas condicionales a tus necesidades. saludos
Este ejemplo lo que hará es considerar las siguiente condiciones:
Si una mujer en la edad de 18 a 39 y su grasa corporal es entre 0 a 21 es condiderada baja en grasa, si su grasa es entre 22 a 33 es considerada normal en grasa, si es 34 a 39 alto en grasa; mayor a 39 es considerada obesidad.
igual para las edades de 40 a 59, 0 a 23 bajo en grasa, 24 a 34 normal en grasa, 35 a 40 alto en grasa, 40 > obesidad.
para complicar mas las cosas, haremos las edades entre 60 a 99 años, 0 a 24, bajo en grasa, 25 a 36 normal en grasa, 37 a 42 alto en grasa y 42 es considerado obesidad.
Y si no es suficiente haremos lo mismo para hombres... pero lean la prog para comprender un poco más:
Accederemos al Editor de VBA presionando Alt+F11, y ya dentro del Editor insertaremos un modulo (Menú Insertar > Modulo), haciendo doble clic en el módulo copiaremos el siguiente código:
'creamos una función con tres variables - Sexo, Edad y % grasa
Public Function Grasa(sexo, edad, Porcgra)
'definimos categorías para mujeres
If sexo = "M" And edad >= 18 And edad <= 39 And Porcgra >= 0 And Porcgra <= 21 Then Grasa = "bajo en grasa"
If sexo = "M" And edad >= 18 And edad <= 39 And Porcgra >= 22 And Porcgra <= 33 Then Grasa = "normal en grasa"
If sexo = "M" And edad >= 18 And edad <= 39 And Porcgra >= 34 And Porcgra <= 39 Then Grasa = "alto en grasa"
If sexo = "M" And edad >= 18 And edad <= 39 And Porcgra > 39 Then Grasa = "obesidad"
If sexo = "M" And edad >= 40 And edad <= 59 And Porcgra >= 0 And Porcgra <= 23 Then Grasa = "bajo en grasa"
If sexo = "M" And edad >= 40 And edad <= 59 And Porcgra >= 24 And Porcgra <= 34 Then Grasa = "normal en grasa"
If sexo = "M" And edad >= 40 And edad <= 59 And Porcgra >= 35 And Porcgra <= 40 Then Grasa = "alto en grasa"
If sexo = "M" And edad >= 40 And edad <= 59 And Porcgra > 40 Then Grasa = "obesidad"
If sexo = "M" And edad >= 60 And edad <= 99 And Porcgra >= 0 And Porcgra <= 24 Then Grasa = "bajo en grasa"
If sexo = "M" And edad >= 60 And edad <= 99 And Porcgra >= 25 And Porcgra <= 36 Then Grasa = "normal en grasa"
If sexo = "M" And edad >= 60 And edad <= 99 And Porcgra >= 37 And Porcgra <= 42 Then Grasa = "alto en grasa"
If sexo = "M" And edad >= 60 And edad <= 99 And Porcgra > 42 Then Grasa = "obesidad"'
definimos categorías para hombres
If sexo = "H" And edad >= 18 And edad <= 39 And Porcgra >= 0 And Porcgra <= 8 Then Grasa = "bajo en grasa"
If sexo = "H" And edad >= 18 And edad <= 39 And Porcgra >= 9 And Porcgra <= 20 Then Grasa = "normal en grasa"
If sexo = "H" And edad >= 18 And edad <= 39 And Porcgra >= 21 And Porcgra <= 25 Then Grasa = "alto en grasa"
If sexo = "H" And edad >= 18 And edad <= 39 And Porcgra > 25 Then Grasa = "obesidad"
If sexo = "H" And edad >= 40 And edad <= 59 And Porcgra >= 0 And Porcgra <= 11 Then Grasa = "bajo en grasa"
If sexo = "H" And edad >= 40 And edad <= 59 And Porcgra >= 12 And Porcgra <= 22 Then Grasa = "normal en grasa"
If sexo = "H" And edad >= 40 And edad <= 59 And Porcgra >= 23 And Porcgra <= 28 Then Grasa = "alto en grasa"
If sexo = "H" And edad >= 40 And edad <= 59 And Porcgra > 28 Then Grasa = "obesidad"
If sexo = "H" And edad >= 60 And edad <= 99 And Porcgra >= 0 And Porcgra <= 13 Then Grasa = "bajo en grasa"
If sexo = "H" And edad >= 60 And edad <= 99 And Porcgra >= 14 And Porcgra <= 25 Then Grasa = "normal en grasa"
If sexo = "H" And edad >= 60 And edad <= 99 And Porcgra >= 26 And Porcgra <= 30 Then Grasa = "alto en grasa"
If sexo = "H" And edad >= 60 And edad <= 99 And Porcgra > 30 Then Grasa = "obesidad"
End Function
Ya podremos utilizar nuestra función Grasa en nuestra Hoja de cálculo, sobre tres celdas
=GRASA(sexo; edad; %grasa)
espero puedas adaptar estas condicionales a tus necesidades. saludos
10 sep 2015 a las 00:32