BMIってボディマス指数のことらしいですよ
興味が無いから日本独自の基準かと思って調べてみたら、WHOで定めた国際基準のことでした。
計算方法は以下の通りとなります。
なんで日本独自の基準という感覚をもっていたのだろうかと調べてようやくわかったよ。
計算方法は世界共通だけど、肥満の度合いは国によってまちまちだったからだ。そのせいで、日本でしか通じない指標だと思っていたんだと思う。
さてそんなBMIを求めるプログラムをつくってみようと思う
なぜプログラム作ろうかと思ったかというと、ちょうどこちらでVBA講座をやっていたのでやってみました。
PC独習室
問題はこちらより。ただし、出題通りの処理はしてないから注意してね。
ExcelVBA入門 変数
つくりました。
計算ボタンを押すと、次のようにメッセージが表示され、BMI値が出力されます。
ちなみに、クリアボタンを押すと最初の画像のような状態に戻るよ。
以下ソースコード
Private Sub BMI_calc_Click() Dim Weight As Single Dim Height As Single Dim BMI As Single Height = Worksheets("BMI_Sheets").Range("F3") Weight = Worksheets("BMI_Sheets").Range("F4") '例外処理 If Range("F3").Value = "" Or Range("F4").Value = "" Then MsgBox "値が入力されていません", , "エラー" Exit Sub End If 'BMI処理 BMI = Weight / (Height / 100) ^ 2 BMI = Round(BMI, 2) Range("F6") = BMI If BMI < 20 Then Range("F7") = "痩せすぎ" ElseIf BMI >= 20 And BMI < 24 Then Range("F7") = "適正" ElseIf BMI >= 24 And BMI < 26.4 Then Range("F7") = "太り気味" ElseIf BMI >= 26.4 Then Range("F7") = "肥満" End If MsgBox "あなたのBMIは" & BMI & "です。", , "BMI 計算結果" End Sub Private Sub Clear_Click() Range("F3").Clear Range("F4").Clear Range("F6").Clear Range("F7").Clear End Sub
コマンドボタンを配置して、ソースコピペすれば完成だよ。丸め処理が適当だったりと思うことはあるけどね。