/ Forside/ Teknologi / Administrative / MS-Office / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
MS-Office
#NavnPoint
sion 18709
refi 14474
Klaudi 9389
Rosco40 5695
berpox 5456
dk 5398
webnoob 4919
Benjamin... 4870
o.v.n. 4637
10  EXTERMINA.. 4373
BMI Opgave
Fra : jjhj
Vist : 1522 gange
65 point
Dato : 31-01-08 09:02

Hejsa.

Jeg skal have lavet en BMI til at kontrollere ens vægt.

Den skal laves i Excel, så man hele tiden kan ændre vægt og højde.

Den skal se således ud:
_____________________________________________________
INDTAST DIN VÆGT: XX kg
INDTAST DIN HØJDE: XX cm

Din BMI er: XX,XX
Du er: hvis BMI er mindre end 18= Undervægtig
hvis BMI er mellem 18 og 25=Normalvægtig
hvis BMI er mellem 25 og 30= Moderat overvægtig
hvis BMI er større end 30=Meget overvægtig

Du skal tabe dig: XX,XX kg
_____________________________________________________

Den skal selv finde ud af om man er undervægtig, normal vægtig, moderat overvægtig eller meget overvægtig.

BMI beregnes: vægt/(højde/100)2

Ved også at formlen i Excel skal se således ud: Vægt/POTENS(højde/100;2)


Håber at der er nogen der vil hjælpe mig med denne opgave!

HVIS der er nogen der vil hjælpe mig, kan i bare skrive her, hvis i får lavet den eller har spørgsmål skal jeg nok oplyse min mail....

mvh. jjhj

 
 
Kommentar
Fra : Peder99


Dato : 31-01-08 09:23

Hej

Du laver følgende:

i felt A4 indsættes følgende tekst "Indtast Vægt:"
i felt A5 indsættes følgende tekst "Indtast Højde:"
i felt C4 indsættes følgende tekst "Kg:"
i felt C5 indsættes følgende tekst "meter:"
i felt A7 indsættes følgende tekst "BMI:"
i felt A9 indsættes følgende tekst "Du er:"

felt B4 markeres og der højreklikkes hvorefter feltet formateres som tal (2 decimaler)
felt B5 markeres og der højreklikkes hvorefter feltet formateres som tal (2 decimaler)
felt B7 markeres og der højreklikkes hvorefter feltet formateres som tal (2 decimaler)

i felt B7 indsættes følgende formel "=B4/(B5/100)^2"

i felt B9 indsættes følgende formel "=IF(B7<18;"Undervægtig";IF(B7<25;"Normalvægtig";IF(B7<30;"Moderat overvægtig";"Meget overvægtig")))"

Dette skulle gerne have den ønskede funktion!

mvh
Peder

Kommentar
Fra : svendgiversen


Dato : 31-01-08 09:55

Du var hurtigere Peder:

m   h   BMI      tynd   18   slank   25   kraftig   30   fed
78   175   25,5                    X      
til højre for kraftig står der 30 og fed

under BMI denne formel:
=A2/(B2/100)^2

undrer for tynd
=IF($C2<F1;"X";" ")

under slank
=IF($C2<H1;"X";" ")

unde kraftig
=IF($C2<J1;"X";" ")

under fed
=IF($C2>I1;"X";" ")

mit forkortede forslag, Svend




Kommentar
Fra : Peder99


Dato : 31-01-08 10:40

Til Svend

Vi må se hvem der er lettest at forstå!

Kommentar
Fra : svendgiversen


Dato : 31-01-08 11:44

Ja Peder,

Vi er heldigvis enige om det væsentlige: IF erne...Svend

Kommentar
Fra : Peder99


Dato : 31-01-08 12:34

Vi er ikke helt enige med IF'erne.

Dine If statements vil placere BMI tallet i alle kategorier hvis man er undervægtig.
( eks. C2 = 16 vil lave X'er ved alle kategorier!)

Min skriver kun den relevante kategori. (eks. hvis man er undervægtig er det ikke relevant om man er slank, det er man jo klart)

Peder

Kommentar
Fra : svendgiversen


Dato : 31-01-08 12:55

Du har ret, jeg skulle have kombineret < betingelserne med > betingelse...

Eller som du gør, overskrive tidligere opfyldte betingelser.

Sorry Svend

Kommentar
Fra : svendgiversen


Dato : 31-01-08 14:46

mine 4 IF virker nu, kun med X ud for den eneste rigtige...

=IF($C2<E1;"X";" ")

=IF($C2<E1;" ";IF($C2<G1;"X";" "))

=IF($C2<G1;" ";IF($C2<I1;"X";" "))

=IF($C2>I1;"X";" ")

>Du skal tabe dig: XX,XX kg
kræver at du angiver ideal BMI, Svend





Kommentar
Fra : Peder99


Dato : 31-01-08 15:04

Hej svend

Det eneste der nu er galt med IF'erne er hvis C2 = I1. Så vil der ikke forekomme et kryds. Den sidste If statement du har skal være C2>=I1


Jeg kan se at jeg mangler den med hvor meget man skal tabe sig! (skal vist feje for min egen dør! )

mvh
Peder


Kommentar
Fra : Peder99


Dato : 31-01-08 15:27

Nu er min rettet til!

Da der kun skal regnes med 2 decimaler bør alt afrundes! derfor denne rettelse:

Du laver følgende:

i felt A4 indsættes følgende tekst "Indtast Vægt:"
i felt A5 indsættes følgende tekst "Indtast Højde:"
i felt C4 indsættes følgende tekst "Kg:"
i felt C5 indsættes følgende tekst "meter:"
i felt A7 indsættes følgende tekst "BMI:"
i felt A9 indsættes følgende tekst "Du er:"
i felt C11 indsættes følgende tekst "Kg"

felt B4 markeres og der højreklikkes hvorefter feltet formateres som tal (2 decimaler)
felt B5 markeres og der højreklikkes hvorefter feltet formateres som tal (2 decimaler)
felt B7 markeres og der højreklikkes hvorefter feltet formateres som tal (2 decimaler)
felt B11 markeres og der højreklikkes hvorefter feltet formateres som tal (2 decimaler)

i felt B7 indsættes følgende formel "=ROUND(B4;2)/(ROUND(B5;2)/100)^2"

i felt B9 indsættes følgende formel "=IF(ROUND(B7;2)<18;"Undervægtig";IF(ROUND(B7;2)<25;"Normalvægtig";IF(ROUND(B7;2)<30;"Moderat overvægtig";"Meget overvægtig")))

i felt A11 indsættes følgende formel: "=IF(ROUND(B7;2)>=25;"Du skal tabe dig:";IF(ROUND(B7;2)<18;"Du skal tage på:";"Du er perfekt!"))"

I felt B11 indsættes følgende formel: "=IF(ROUND(B7;2)>=25;ROUND(B4;2)-(24,99*(ROUND(B5;2)/100)^2);IF(ROUND(B7;2)<18;(18*(ROUND(B5;2)/100)^2)-B4;0))"

Dette skulle gerne have den ønskede funktion!

mvh
Peder

Kommentar
Fra : Peder99


Dato : 31-01-08 15:40

Rettelse

I felt C5 indsættes følgende tekst "cm:"

Dum fejl!!!!!!!!!!!!


Kommentar
Fra : Højris


Dato : 31-01-08 15:54

ok det er da ikke en funktions fejl

Men jeg har fulgt lidt med her på tråden og formlerne har jeg kopieret ind på deres respektive pladser, det kommer der det ud af at i B9, A11 og B11 #NAVN? Hvorfor gør det så lige det.
Men ellers er det da meget sjovt.

Højris

Kommentar
Fra : Peder99


Dato : 31-01-08 16:24

Har du husket at fjerne "" ved alle formler?

Peder

Kommentar
Fra : Højris


Dato : 31-01-08 16:41

Ja det har jeg været opmærksom på samt at der ikke mangler en ) eller ))

Jeg skrev først tekstene formaterede cellerne og kopirerede derefter formlerne ind.

Højris

Kommentar
Fra : svendgiversen


Dato : 31-01-08 16:42

Og så tilføjelsen, Svend

m   h   BMI
78   175   25,5

Ideal vægt      Ideal BMI
73,5   kg   24

tab dig       
4,5   kg

under Ideal vægt Formlen: =C5*(B2/100)^2


Kommentar
Fra : Peder99


Dato : 31-01-08 17:02

Hej Højris.

Det er nok fordi du har en dansk version af excel!

I formlerne erstatter du ROUND med AFRUND og IF med HVIS derefter burde den være i vinkel!

Peder

Kommentar
Fra : Peder99


Dato : 31-01-08 17:05

Til Svend.

Du skal i din formel der beregner hvor meget man skal tabe/tage skelne imellem to senarier:

1) hvis man vejer for meget skal man kun tabe sig til man har BMI = 25
2) hvis man vejer for lidt skal man kun tage på til man har BMI = 18

Derfor vil der være 2 ideal vægte for folk der ikke er normalvægtige!

Mvh
Peder

Kommentar
Fra : svendgiversen


Dato : 31-01-08 17:25

Ikke nødvendigvis,
min svoger har en målsætning et BMI på 22, selv er min kampvægt 74 kg svarende til BMI 24...

Man kan ikke sigte mod et interval, men mod sit eget individuelle, ønskede mål, Svend
(men rigtigt, vejer man mindre kommer der til at stå: tab dig -x kg...).

Derfor også min bemærkning ovenfor: >"kræver at du angiver ideal BMI, Svend"




Kommentar
Fra : Peder99


Dato : 31-01-08 17:29

Kan ikke forstå argumentet med et ønske BMI!

Så hellere en ønske vægt!

Man har da svært ved at forholde sig til om en BMI på 22 er bedre end en på 23!

Derfor valgte jeg at sige at man er OK bare man er inde for intervallet 18 < BMI < 25

Peder

Kommentar
Fra : svendgiversen


Dato : 31-01-08 18:16

Nok fordi en ideal BMI er individuel, afhænger af køn, kropsbygning alder etc. Svend

Kommentar
Fra : berpox


Dato : 31-01-08 21:54

Nu er det jo sådan at jeg æææælsker VBA kode... så derfor får du lige nedenstående løsning.
Du gør det, at du i Excel taster indholdet i cellerne:
1) I celle A1 skriver du: Vægt [kg]
2) I celle A2 skriver du: Højde [cm]
3) I celle A5 skriver du: BMI
4) Du åbner VBA editoren med ALT+F11
5) Du dobbeltklikker på Ark1 ude til venstre i "oversigten"
6) Du indsætter den nedenstående kode
7) Du lukker VBA editoren
8) Du indtaster vægt i kg. og højde i centimeter.....

- resultatet kan du selv aflæse - og så ikke et ord om, at BMI bør tage alder, køn og kropsbygning i betragtning også. Ganske som Svend var inde på

Den resulterende idealvægt beregnes for en BMI lige midt i intervallet mellem 18 og 25. Nemlig 21,5.

Kode
Dim f As Double 'vægtændringsfaktor
Dim m As Integer
Dim h As Integer
Dim BMI As Double
Dim besked1, besked2, besked3 As String

Sub BeregnBMI()

m = Round(Range("B1").Value)
h = Round(Range("B2").Value)

If h <= 0 Then
Range("B5").Value = ""
Exit Sub
End If

BMI = Round(m / ((h / 100) ^ 2), 1)

Range("B5").Value = BMI

f = 21.5 / BMI
m = m * f

besked2 = "Du bør ændre din idealvægt til "
besked3 = m & " kg."

Select Case BMI
Case Is < 8
besked1 = "Urealistisk højde eller vægt!"
besked2 = ""
besked3 = ""
Range("B5").Value = ""
Case Is <= 18
besked1 = "Du er undervægtig."
Case Is <= 25
besked1 = "Du har en normal vægt."
besked2 = ""
besked3 = ""
Case Is <= 30
besked1 = "Du er moderat overvægtig."
Case Is <= 150
besked1 = "Du er meget overvægtig."
Case Else
besked1 = "Urealistisk højde eller vægt!"
besked2 = ""
besked3 = ""
Range("B5").Value = ""
End Select

Range("A6").Value = besked1
Range("A7").Value = besked2 & besked3

End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("B1") = 0 Or Range("B2") = 0 Then
Range("B5").Value = ""
Exit Sub
End If

If Target = Range("B2") Or Target = Range("B1") Then
BeregnBMI
End If

End Sub


Kommentar
Fra : Peder99


Dato : 31-01-08 22:55

Hvis man skal snakke om en ideel BMI bør man vel drage til undersøgelser der giver en statistisk ideel BMI!

se evt. http://www.nomedica.dk/bmitest.htm

Her er den ideelle BMI 21,5 men:
22 - 23,4 Kvinder
23,5 - 24,9 Mænd

berbox.

Når du er så glad for VBA, så vil du vel gerne lave en form der gør det brugervenligt at indtaste Vægt, Højde og køn. Bruge undersøgelsens intervaller som ideal BMI og der fra beregne hvor meget man skal tabe sig? -Mon ikke jjhj vil blive glad for sådan en!

Mvh
Peder

Kommentar
Fra : berpox


Dato : 01-02-08 00:07

Jo.... det kan jeg da sagtens. Men jeg vil i første omgang lade tallene stå i Excel cellerne....

Vi skal også tænke på, at hvis vi siger der er to ideal-intervaller, så må grænsen mellem "overvægtig" og "meget overvægtig" jo også flytte sig.....

vent lidt....

Kommentar
Fra : berpox


Dato : 01-02-08 01:07

Kode
Dim f1, f2 As Double 'vægtændringsfaktorer
Dim m, m1, m2 As Double 'masse (vægt)
Dim h As Double 'højde
Dim s As String 'køn
Dim BMI As Double 'BMI
Dim besked1, besked2, besked3, besked4 As String

Sub BeregnBMI()

m = Round(Range("B1").Value, 1)
h = Round(Range("B2").Value, 0)
s = LCase(Range("B3").Value)


If h <= 0 Then
Range("B5").Value = ""
Exit Sub
End If

BMI = Round(m / ((h / 100) ^ 2), 1)
Range("B5").Value = BMI

besked2 = "Du bør ændre din idealvægt til omkring "

Select Case s
Case "k"
BMIk
Case "m"
BMIm
Case Else
Range("B3").Value = LCase(InputBox("Indtast køn m/k", "", ""))

'Exit Sub
End Select

Range("A6").Value = besked1
Range("A7").Value = besked2 & besked3
Range("A8").Value = besked4

End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("B1") = 0 Or Range("B2") = 0 Then
Range("B5").Value = ""
Exit Sub
End If

If Range("B1") = "" Or Range("B2") = "" Then
Range("B5").Value = ""
Exit Sub
End If


If Target = Range("B1") Or Target = Range("B2") Or Target = Range("B3") Then
BeregnBMI
End If

End Sub

Function BMIm() 'mænd

f1 = 23.5 / BMI
f2 = 24.9 / BMI
m1 = Round(m * f1, 1)
m2 = Round(m * f2, 1)

Select Case BMI
Case Is < 8
besked1 = "Urealistisk højde eller vægt!"
besked2 = ""
besked3 = ""
Range("B5").Value = ""
Case Is < 23.5
besked1 = "Du er undervægtig."
besked3 = m1 & "-" & m2 & " kg."
besked4 = "Du bør tage " & m1 - m & "-" & m2 - m & "kg. på."
Case Is <= 24.9
besked1 = "Du har en normal vægt."
besked2 = ""
besked3 = ""
Case Is <= 30
besked1 = "Du er moderat overvægtig."
besked3 = m1 & "-" & m2 & " kg."
besked4 = "Du bør tabe dig " & m - m2 & "-" & m - m1 & "kg."
Case Is <= 150
besked1 = "Du er meget overvægtig."
besked3 = m1 & "-" & m2 & " kg."
besked4 = "Du bør tabe dig " & m - m2 & "-" & m - m1 & "kg."
Case Else
besked1 = "Urealistisk højde eller vægt!"
besked2 = ""
besked3 = ""
Range("B5").Value = ""
End Select
End Function

Function BMIk() 'kvinder

f1 = 22 / BMI
f2 = 23.4 / BMI
m1 = Round(m * f1, 1)
m2 = Round(m * f2, 1)

besked4 = ""

Select Case BMI
Case Is < 8
besked1 = "Urealistisk højde eller vægt!"
besked2 = ""
besked3 = ""
Range("B5").Value = ""
Case Is < 22
besked1 = "Du er undervægtig."
besked3 = m1 & "-" & m2 & " kg."
besked4 = "Du bør tage " & m1 - m & "-" & m2 - m & "kg. på."
Case Is <= 23.4
besked1 = "Du har en normal vægt."
besked2 = ""
besked3 = ""
Case Is <= 28.5
besked1 = "Du er moderat overvægtig."
besked3 = m1 & "-" & m2 & " kg."
besked4 = "Du bør tabe dig " & m - m2 & "-" & m - m1 & "kg."
Case Is <= 150
besked1 = "Du er meget overvægtig."
besked3 = m1 & "-" & m2 & " kg."
besked4 = "Du bør tabe dig " & m - m2 & "-" & m - m1 & "kg."
Case Else
besked1 = "Urealistisk højde eller vægt!"
besked2 = ""
besked3 = ""
Range("B5").Value = ""
End Select

End Function


Kommentar
Fra : Højris


Dato : 01-02-08 01:43

Til peder,Svend og Perpox !

jeg er ret glad for at jeg lige snublede over denne tråd, det må jo være en snubletråd.
Den involvere nogle ting der har ligget mig meget på sinde i lang tid i excel.
Også ud over excel men også VB. Men når jeg kommer lidt mere specifikt til det, opretter jeg min egen tråd. Da jeg har nogle spørgsmål omkring if then og else "Else hende kender jeg"
"do happy time"
Højris

Kommentar
Fra : berpox


Dato : 03-04-08 20:18

jjhj - har du fået svar på dit spørgsmål? Eller skal der mere til?

mvh berpox

Du har følgende muligheder
Dette spørgsmål er blevet annulleret, det er derfor ikke muligt for at tilføje flere kommentarer.
Søg
Reklame
Statistik
Spørgsmål : 177554
Tips : 31968
Nyheder : 719565
Indlæg : 6408852
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste