En esta entrada anterior ya se trabajó el primer ejemplo en el que la función SI() es la protagonista, y se necesitaron condiciones de cierta complejidad para darle solución el problema planteado.
En esta entrada se trabajará un segundo ejemplo que requiere del uso de la función SI() con condiciones complejas, pero en esta ocasión las condiciones se construirán a partir de rangos de valores. Sin duda el ejercicio los pondrá a sudar (y a pensar un poco más), pero que el comprenderlo y resolverlo les brindará una fórmula que podrán aplicar en su vida diaria (sobre todo en su trabajo como enfermeros).
En esta entrada se trabajará un segundo ejemplo que requiere del uso de la función SI() con condiciones complejas, pero en esta ocasión las condiciones se construirán a partir de rangos de valores. Sin duda el ejercicio los pondrá a sudar (y a pensar un poco más), pero que el comprenderlo y resolverlo les brindará una fórmula que podrán aplicar en su vida diaria (sobre todo en su trabajo como enfermeros).
Comencemos con el segundo ejemplo.
Segundo ejemplo
Se desea que a partir de la estatura (en metros) y el peso (en kilogramos), sea posible calcular el índice de masa corporal (IMC), con ello determinar la situación de nutrición que presenta una persona.
Situación nutricional que se determinará en base a la siguiente tabla de valores para el IMC:Situación nutricional | Rango de valores para el IMC |
Delgadez severa | <16 |
Delgadez moderada | 16 a 16.99 |
Delgadez leve | 17 a 18.49 |
Normal | 18.5 a 24.99 |
Preobeso o sobrepeso | 25 a 29.99 |
Obesidad leve | 30 a 34.99 |
Obesidad media | 35 a 39.99 |
Obesidad mórbida | >=40 |
Para obtener el IMC se empleará la siguiente fórmula: peso / (altura * altura)
Considere las siguientes referencias de celda para los valores: para la altura la celda B2, para el peso la celda D2, para calcular e IMC la celda G2.
La fórmula para obtener el IMC se convierte entonces con las referencias de celdas y queda así:
=D2 / (B2 * B2)
O en su caso se sabe que puede calcularse la altura al cuadrado con la función potencia, por lo que la fórmula puede ser:
=D2 / Potencia(B2;2)
Para dar solución a la cuestión de cómo a partir del IMC mostrar la situación nutricional (el “texto” de la primera columna de la tabla), es preciso trabajar la función si().
Para ello, primero vamos a realizar el análisis de los casos
que se presentan en la tabla, lo ideal para evitar enredos, es acomodar los
casos tal cual aparecen en la tabla, observe lo siguiente:
Comparar para saber si el valor es
menor a 16; de ser verdad, entonces debe indicar
"Delgadez severa"
De lo contrario (no es un valor menor a 16) debe
Comparar para saber si el valor es mayor o
igual que 16 pero menor a 17; de ser verdad,
entonces debe indicar "Delgadez moderada";
De lo contrario (no es un valor mayor o igual que
16 y menor a 17) debe
Comparar
para saber si el valor es mayor o igual que 17 pero menor a 18.5; de ser verdad, entonces debe indicar "Delgadez
leve"
De lo contrario (no es un valor mayor
o igual que 17 y menor a 18.5) por ello debe
Comparar
para saber si el valor es mayor o igual que 18.5 pero menor a 25; de
ser verdad, entonces debe indicar "Normal"
De lo contrario (no es un valor menor a 16) por ello debe
Comparar
para saber si el valor es mayor o igual que 25 pero menor a 30; de ser verdad, entonces debe indicar "Preobeso"
De lo
contrario (no es un valor mayor o igual que 25 y menor
a 30) por ello debe
Comparar
para saber si el valor es mayor o igual que 30 pero menor a 35; de ser verdad, entonces debe indicar "Obesidad
leve"
De lo
contrario (no es un valor mayor o igual que 30 pero menor
a 35) (tome
en cuenta que solo quedan dos casos por ello depende de cual comparación elija
para poder colocar el argumento en si da verdadero o si da falso) por ello debe
Comparar
para saber si el valor es mayor o igual que 35 pero menor a 40; de ser verdad, entonces debe indicar "obesidad
media"
De lo
contrario (es el último caso un valor mayor a 40)
por ello debe indicar “obesidad
morbida"
Pero antes de pretender escribir la función si() a partir del análisis, es preciso construir las condiciones que se van a necesitar. Como puede ver en el análisis en palabras están expresadas, pero en la tabla se expresan como rangos, así que en ellos nos basaremos para facilitarnos el trabajo.
Construyendo las condiciones
En el caso del primer y último rango de valores (<16; >=40) se trata de condiciones simples que prácticamente están dadas en la tabla: solo hace falta agregar la celda:
G2<16
G2>=40
G2>=40
Sin embargo, para los otros 6 rangos es preciso abordar las condiciones complejas.
- Para entender cómo construir condiciones a partir de rangos de valores (indicados en la segunda columna de la tabla), revise el material adicional proporcionado (en clases previas) en donde se explica ampliamente como construir condiciones complejas a partir de rangos de valores.
- Para casos en los que se forma un solo rango con valores que van de un número inferior a un número superior (ejemplo de 10 a 25; de 130 a 180), unir las condiciones simples encontradas con la función Y().
- Para casos en los que no sea posible formar un solo rango, sino que se crean dos rangos aislados, en donde las condiciones simples no contemplan valores coincidentes, es decir, que un rango va de un valor hacia el menos infinito y el otro rango va de un valor hacia el más infinito, pero no se presenta intersección entre ambos, entonces, unir las condiciones simples encontradas con la función O().
Basados en este rango, se procede a marcar con llaves (en rojo) dos rangos que deben ir hacia infinito: uno que va del valor menor hacia infinito positivo (16 a +∞), y otro que va de infinito negativo al de valor mayor (-∞ a 16.99), observe a continuación:
A fin de aclarar la imagen, se quita el círculo que marcaba el rango inicial. Observe que en la imagen se ha marcado del lado de infinito negativo el símbolo del operador relacional “menor que”, y del infinito positivo el símbolo del operador relacional “mayor que”. De esta forma tomando en cuenta la variable involucrada donde se almacena el IMC (G2) el operador relacional en cuestión y el valor numérico en la punta del estos nuevos rangos (ver arriba), se procede a construir las dos condiciones simples involucradas:
De esta forma, mediante la función Y() se da solución, por ello las condiciones complejas obtenidas serán los argumentos de esta función. Observe la condición compleja final:
Y(G2>16; G2<16.99)
Siguiendo la misma idea es posible construir las demás
condiciones similares:
Situación nutricional | Rango de valores para el IMC | Condiciones |
Delgadez severa | <16 | G2 < 16 |
Delgadez moderada | 16 a 16.99 | Y(G2 >=16; G2 < 17) |
Delgadez leve | 17 a 18.49 | Y(G2 >=17; G2 < 18.5) |
Normal | 18.5 a 24.99 | Y(G2 >=18.5; G2 < 25) |
Preobeso o sobrepeso | 25 a 29.99 | Y(G2 >=25; G2 < 30) |
Obesidad leve | 30 a 34.99 | Y(G2 >=30; G2 <35) |
Obesidad media | 35 a 39.99 | Y(G2 >=35; G2 < 40) |
Obesidad mórbida | >=40 | G2 >=40 |
Retorno a la construcción de la función SI()
Una vez que se tienen las condiciones lo que puede hacer (en el paso a paso para facilitar la escritura de la función) es reescribir el análisis de forma que ahora se incluyan las condiciones:
Comparar para saber si G2 < 16; de ser verdad, entonces debe indicar "Delgadez
severa"
De lo contrario (no se cumple G2 < 16) debe
Comparar para saber si Y(G2 >=16; G2 < 17); de ser verdad, entonces debe indicar "Delgadez
moderada";
De lo contrario (no se cumple Y(G2 >=16; G2 <
17)) debe
Comparar
para saber si Y(G2 >=17;
G2 < 18.5); de ser verdad,
entonces debe indicar "Delgadez leve"
De lo contrario (no se cumple Y(G2
>=17; G2 < 18.5)) por ello debe
Comparar
para saber si el valor es mayor o igual que 18.5 pero menor a 25; de
ser verdad, entonces debe indicar "Normal"
De lo contrario (no se cumple) por ello debe
Comparar
para saber si Y(G2 >=25;
G2 < 30); de ser verdad, entonces
debe indicar "Preobeso"
De lo
contrario (no se cumple Y(G2 >=25; G2 < 30)) por
ello debe
Comparar
para saber si Y(G2 >=30;
G2 < 35); de ser verdad, entonces
debe indicar "Obesidad leve"
De lo
contrario (no se cumple Y(G2 >=30; G2 < 35)) por
ello debe
Comparar
para saber si Y(G2 >=35;
G2 < 40); de ser verdad, entonces
debe indicar "obesidad media"
De lo
contrario (no se cumple Y(G2 >=35; G2 < 40)) por
ello debe indicar “obesidad
morbida"
Lo único que queda es escribir las funciones Si() anidadas, en esta ocasión lo haremos, inidiando cada función SI() en un renglón número a fin de pretender aclarar la secuencia de la anidación, observe que en todos los casos las funciones se incluyen como tercer argumento de la función si() que la contiene, por ello es que se cierran todos los paréntesis al final.
SI(D4<16;"Delgadez severa";
SI(Y(D4>=16;D4<17);"Delgadez
moderada";
SI(Y(D4>=17;D4<18,5);"Delgadez
leve";
SI(Y(D4>=18,5;D4<25);
"Normal";
SI(Y(D4>=25;D4<30);
"Preobeso";
SI(Y(D4>=30;D4<35);"Obesidad
leve";
SI(Y(G2 >=35;
G2 < 40); "obesidad media";
"obesidad
morbida”)))))))
Si quitamos los saltos de línea tendremos la fórmula ´que finalmente es la que debe escribirse en la celda en la que se vaya a mostrar la situación nutricional de la persona::
=SI(G2<16;"Delgadez severa"; SI(Y(G2>=16;G2<17);"Delgadez moderada"; SI(Y(G2>=17;G2<18.5);"Delgadez leve"; SI(Y(G2>=18.5;G2<25); "Normal";SI(Y(G2>=25;G2<30); "Preobeso";SI(Y(G2>=30;G2<35);"Obesidad leve"; SI(G2>=40;"obesidad morbida";"obesidad media")))))))
Solo queda capturar los valores en las celdas señaladas, calcular el IMC y después escribir esta función SI() compleja, que permitirá mostrar la situación nutricional.
AQUÍ puede descargar el contenido de la presente entrada y el presentado en la entrada anterior (los dos ejemplos de uso de la función si() con condiciones complejas).
Saludos
M.C. Bertha López Azamar
P.D. Alumno UNPA, si ya leíste la entrada, pon la letra de tu grupo y las iniciales de tus apellidos primero y luego de tu nombre en un comentario de esta entrada.
Saludos
M.C. Bertha López Azamar
P.D. Alumno UNPA, si ya leíste la entrada, pon la letra de tu grupo y las iniciales de tus apellidos primero y luego de tu nombre en un comentario de esta entrada.