En la entrada del pasado 20/04/2010 expuse una manera de construir una función personalizada o UDF usando la instrucciónSELECT CASE, hoy replicaremos esa función pero empleando la instrucción IF...THEN.
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:
Ya podremos utilizar nuestra función Grasa en nuestra Hoja de cálculo, sobre tres celdas
=GRASA(sexo; edad; %grasa)
con igual resultado que la UDF del post de ayer.
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 mujeres 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)
con igual resultado que la UDF del post de ayer.
No hay comentarios:
Publicar un comentario
Nota: solo los miembros de este blog pueden publicar comentarios.