Indice de masa corporal

Pasa lo siguiente amigos
Tengo que calcular el imc ingresando el peso y la talla
eso lo se hacer imc=peso/(talla*talla) mi duda viene aquí
según el resultado lo tengo que clasificar y contar osea:
Si imc<18.5 a bajo peso sume 1
Si imc>=18.5 y menor a 24.9 a normal sume 1
si imc>=24.9 y menor a 29.9 a sobre peso sume 1
si imc>=30 a obeso sume 1
esto es lo que tengo que hacer ahora tengo una tabla de ingreso:
peso=n
talla=m
imc=nm *nota aqui me calcula el indice de masa corporal y me deberia sumar 1 dependiendo del resultado.
lo he probado de varias formas =si(.... =contar. Si(... =sumarproducto(... En algunas me suma pero al cambiar el resultado me vuelve a cero y necesito que valla sumando a medida que voy ingresando datos.
Trate de ser lo más claro posible
esperando un a pronta respuesta

1 respuesta

Respuesta
1
Si lo he entendido bien lo que deseas es tener en cuatro celdas el contador de: "bajo peso", "normal", "sobre peso", "obeso"
tu en una columna iras calculando el índice de masa corporal (imc) que se puede calcular también con {=(n/m^2)}
si el rango de las celdas de imc es E1:E600,
la fórmula de "bajo peso" seria
{=CONTAR.SI(E1:E600;"{=CONTAR.SI.CONJUNTO(E1:E600;">=18,5";E1:E600;"{=CONTAR.SI.CONJUNTO(E1:E600;">=24,9";E1:E600;"{=CONTAR.SI(E1:E600;">=30")}
Muchas gracias por tu respuesta pero tengo dos dudas:
1.- En la función contar. Si. conjunto me sale #¿NOMBRE? ¿Qué estaré haciendo mal?
2.- ¿En mi planilla el resulrtado es solo en una celda no debería afectar eso cierto en relación a la función que me entregaste tu?
te anoto las funciones como las tengo en mi planilla
normal               =CONTAR.SI.CONJUNTO(B5;">=18,5";B5;"<24,9")
sobre peso        =CONTAR.SI.CONJUNTO(B5;">=24,9";B5;"<30")
Muchas gracias por la ayuda
Dos comentarios
Primer comentario yo utilizo el Excel 2007 puede ser que tu Excel no tenga una versión inferior y por ello no tengas esa función
Segundo comentario ¿estas poniendo una única celda B5 para hacer pruebas o es que solo tienes que mirar un único valor?
Gracias por responder
Yo tengo excel 2003 puede ser eso.
Otra cosa mira yo en b3 ingreso el peso, en b4 la talla y en b5 me da el imc.
Dependiendo de ese imc, que sume uno dependiendo del resultado.
Después yo cambio el peso y la talla para calcular otro imc y que vuelva hacer el mismo procedimiento anterior.y que agregue uno dependiendo del resultado.y cuando termine de ingresar todos me diga sobre peso hay 5 obesos 3 etc.etc.
¿Tienes algo parecido a esto?
 Peso ; Talla ;    IMC
80,00 ; 1,50 ; 35,56
70,00 ; 1,75 ; 22,86
75,00 ; 1,75 ; 24,49
Pues podrias hacer algo así (no es tan elegante como la función anterior pero funciona)
 Peso ; Talla ; IMC    b peso normal s peso obeso
80,00 ; 1,50 ; 35,56 0          0         0            1
70,00 ; 1,75 ; 22,86 0          1         0            0
75,00 ; 1,75 ; 24,49 0          1         0            0
55,00 ; 1,75 ; 17,96 1          0         0            0
55,00 ; 1,40 ; 28,06 0          0         1            0
b peso {=SI(H10<18,5;1;0)}
normal {=SI(Y(H10>=18,5;H10<24,9);1;0)}
s peso {=SI(Y(H10>=24,9;H10<29,9);1;0)}
obseo {=SI(H10>=29,9;1;0)}
Y al final o al principio un suma o contar
Te adjunto una foto de la planilla

Te pido que me ayudes
Muchas gracias
Como lo tienes solo guardas el último registro de peso y talla
mi visión de el Excel más datos i siempre guardalos para hacer estadística
tu lo ves más para solo contador de datos.
Bueno después de varias prueba tu quieres crear una macro con esto
cada vez que cambies el valor de peso o talla ejecutar la siguiente macro
puedes hacerlo con combinación de teclas o de otra forma que tu sepas
la función o macro es la siguiente
Sub IMC()
'
' IMC Macro
' Cojer el valor de IMC
Vimc = Range("B4").Value
    If Vimc < 18.5 Then 'bajo peso
        Range("E3").Value = Range("E3").Value + 1
     Else
        If (Vimc < 24.9) Then 'normal
            Range("E4").Value = Range("E4").Value + 1
        Else
            If (Vimc < 24.9) Then 'sobre peso
                Range("E5").Value = Range("E5").Value + 1
            Else 'obeso
                Range("E6").Value = Range("E6").Value + 1
            End If
        End If
    End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas