請輸入身高和性別。會一次算出理想體重(BMI 22 的體重)、4 種醫療用理想體重公式的值,以及健康體重範圍(BMI 18.5~24)的體重,並在一條數線圖上比較。
這個頁面可以做什麼
- 只要輸入身高(公分),馬上就能知道臺灣最常用的理想體重(BMI 剛好 22 的體重,國民健康署的計算方式)
- 同時用醫療現場發展出來的 4 種理想體重公式(Robinson、Miller、Devine、Hamwi 公式)計算,比較各自的值
- 一併顯示健康體重範圍(BMI 18.5~24)的體重區間,所有的值都能在一條數線圖上確認
- 公式的淺顯解說,以及可直接複製到 Excel、Google 試算表、Python 的公式,也都整理在這個頁面
這個計算有什麼用?
本頁的 4 種公式,原本是為了計算藥物劑量而建立的。有些藥物依體重決定劑量,如果直接用實際體重,對肥胖的人可能會藥效過強,因此部分抗生素等藥物,會以由身高求出的理想體重(主要是 Devine 公式)作為劑量設計的基準。
「理想體重」不只是減重用語,也是支撐用藥安全的實務工具,這正是這些公式最大的存在意義。
用呼吸器保護肺部的治療(肺保護性通氣)中,每次送入的空氣量,一般的標準做法不是依「實際體重」,而是依由身高和性別求出的預測體重來決定。因為肺不會隨著變胖而變大,大小幾乎由身高決定。
這個預測體重的公式(男性為 \(50 + 0.91 \times (h_{cm} - 152.4)\),\(h_{cm}\) 是以公分為單位的身高),和本頁的 Devine 公式形式幾乎相同。這是「由身高反推體重參考值」的想法,也被用在攸關性命的醫療現場的例子。
在盲目決定「再瘦 5 公斤」之前,先由身高算出理想體重和健康體重範圍,目標就會比較實際。例如身高 160 公分,理想體重是 \(22 \times 1.6^2 \approx 56.3\) 公斤,健康體重範圍的體重約為 47.4~未滿 61.4 公斤。
一般認為,以低於這個範圍為目標的過度減重可能有損健康。對照這個區間來決定目標體重,是運用數字的保險做法。
在臺灣的營養衛教中,一天所需熱量常以「體重 × 每公斤所需熱量」估算,每公斤的熱量依活動量而定(例如國民健康署的參考:輕度工作約 30 大卡、中度工作約 35 大卡)。糖尿病等的飲食治療,醫院也常以理想體重(BMI 22 的體重)為基準來計算。
會由身高算出理想體重,就能自己理解營養師或醫師給的熱量「是怎麼算出來的」(實際的飲食治療請務必遵從專業人員的指導)。
公式與圖表
符號與用語解說
符號
| \(h\) | h | 身高(m)。取英文 height 的字首。請注意要用公尺而不是公分(170 公分 → 1.7)。 |
| \(h^{2}\) | h 的平方 | 身高自己乘自己的值。右上角的小 2 是表示「乘兩次」的指數。(例如 \(1.7^2 = 1.7 \times 1.7 = 2.89\)) |
| \(h_{cm}\) | h 下標 cm | 以公分為單位的身高。4 種公式會先把它除以 2.54 換算成英寸再使用。 |
| \(w_{22}\) | w 下標 22 | 本頁中理想體重的符號,表示 BMI 剛好是 22 的體重。 |
| \(w_{\mathrm{min}},\ w_{\mathrm{max}}\) | w 下標 min/w 下標 max | 本頁中健康體重範圍(BMI 18.5~24)體重的下限和上限的符號。 |
| \(E\) | E | 超過英寸。把身高換算成英寸後,減去基準的 60 英寸(152.4 公分)所剩的值。取英文 excess(超過)的字首。 |
| \(w_{0}\) | w 下標 0 | 4 種公式各自的「基準體重」,相當於身高剛好 152.4 公分(60 英寸)時的理想體重的常數。 |
| \(k\) | k | 每 1 英寸的增加量(kg)。身高每多 1 英寸(2.54 公分)就加到理想體重上的量,依公式和性別而定。 |
| \(W\) | W(大寫) | 要求的理想體重(kg)。本頁中表示用 4 種公式算出的值。 |
用語
| 理想體重 | 由身高反推出來的參考體重。在臺灣,國民健康署以「22 × 身高(公尺)的平方」作為理想體重;醫療上也用英文 Ideal Body Weight(IBW)的各種公式來計算藥物劑量等,值會因公式而略有不同。醫學上並沒有唯一的正確答案。 |
| 標準體重 | 一般常用來指 BMI 剛好是 22 的體重,和國健署的理想體重是同樣的計算(22 × 身高(公尺)的平方)。 |
| 健康體重 | 國民健康署的成人健康體位標準中,BMI 在 18.5 以上、未滿 24 的範圍。國健署推廣的口號「BMI 維持 1824」指的就是這個範圍。 |
| BMI | Body Mass Index 的縮寫,中文叫做身體質量指數。用體重(kg)除以身高(m)的平方得到的值,是國際上通用的肥胖程度參考指標。詳細說明請見相關頁面的「BMI 計算機」。 |
| 國民健康署 | 衛生福利部國民健康署,負責國民健康促進的臺灣政府機關,簡稱國健署。訂有成人健康體位標準(過輕 BMI 未滿 18.5、健康體重 18.5~未滿 24、過重 24~未滿 27、肥胖 27 以上),並以 22 × 身高(公尺)的平方介紹理想體重。 |
| 英寸 | 美國等地使用的長度單位,也叫做吋。1 英寸 = 2.54 公分,12 英寸 = 1 英尺(約 30.5 公分)。4 種公式都用英寸,是因為它們都是在美國建立的公式。 |
| Devine 公式 | 1974 年 Devine 為了計算藥物劑量而提出的理想體重公式。是 4 種公式中目前使用最廣的,在設計藥量等醫療場合說到「理想體重」,多半是指這個公式。 |
建議先了解的基礎知識
為了能「理解意義」地使用本頁的計算,這裡整理了建議先了解的基礎知識。
| 長度單位的換算(國小二~三年級,7~9 歲) |
|
| 小數的乘法與除法(國小五、六年級,10~12 歲) |
|
| 次方與指數(國中七年級,12~13 歲) |
|
| 代數式與一次式(國中七、八年級,12~14 歲) |
|
用 Excel 計算的方法
| 身高(cm) | 170 |
| 理想體重(kg,BMI 22) | =22*(B1/100)^2 |
| 身高(cm) | 170 |
| 範圍的下限(kg,BMI 18.5) | =18.5*(B1/100)^2 |
| 範圍的上限(kg,BMI 24) | =24*(B1/100)^2 |
| 身高(cm) | 178 |
| 性別(男性=1、女性=2) | 1 |
| 超過英寸 E | =B1/2.54-60 |
| Robinson 公式(kg) | =IF(B2=1,52+1.9*B3,49+1.7*B3) |
| Miller 公式(kg) | =IF(B2=1,56.2+1.41*B3,53.1+1.36*B3) |
| Devine 公式(kg) | =IF(B2=1,50+2.3*B3,45.5+2.3*B3) |
| Hamwi 公式(kg) | =IF(B2=1,48+2.7*B3,45.5+2.2*B3) |
「B1/100」是把身高從公分換算成公尺,「^」是次方(乘幾次)的符號。第三個表格的「B1/2.54-60」是把身高換算成英寸再減去基準的 60 英寸,「IF(B2=1,○,△)」的意思是性別為男性(1)時用○的公式、女性(2)時用△的公式。
例如第一個表格的 B2 會顯示 63.58(約 63.6 公斤)。第三個表格(身高 178 公分、男性)的 Devine 公式儲存格會顯示約 73.2。只要把身高和性別改成自己的數值就能使用。
用 Google 試算表計算的方法
| 身高(cm) | 170 |
| 理想體重(kg,BMI 22) | =22*(B1/100)^2 |
| 身高(cm) | 170 |
| 範圍的下限(kg,BMI 18.5) | =18.5*(B1/100)^2 |
| 範圍的上限(kg,BMI 24) | =24*(B1/100)^2 |
| 身高(cm) | 178 |
| 性別(男性=1、女性=2) | 1 |
| 超過英寸 E | =B1/2.54-60 |
| Robinson 公式(kg) | =IF(B2=1,52+1.9*B3,49+1.7*B3) |
| Miller 公式(kg) | =IF(B2=1,56.2+1.41*B3,53.1+1.36*B3) |
| Devine 公式(kg) | =IF(B2=1,50+2.3*B3,45.5+2.3*B3) |
| Hamwi 公式(kg) | =IF(B2=1,48+2.7*B3,45.5+2.2*B3) |
用 Python 計算的方法
from decimal import Decimal, ROUND_HALF_UP
def round_half_up(x):
# 四捨五入到小數第 1 位(0.5 進位。Python 內建的 round 會把 0.5 捨入到偶數)
return float(Decimal(str(x)).quantize(Decimal("0.1"), rounding=ROUND_HALF_UP))
height_cm = 178 # 身高(cm)
sex = "m" # 性別("m"=男性、"f"=女性)
height_m = height_cm / 100 # 公分 → 公尺
standard_weight = 22 * height_m ** 2 # 理想體重(BMI 22,國健署)
healthy_min = 18.5 * height_m ** 2 # 健康體重範圍的下限
healthy_max = 24 * height_m ** 2 # 健康體重範圍的上限(國健署:BMI 未滿 24)
excess_inch = height_cm / 2.54 - 60 # 超過英寸 E(4 種公式使用)
if sex == "m":
robinson = 52 + 1.9 * excess_inch # Robinson 公式(1983)
miller = 56.2 + 1.41 * excess_inch # Miller 公式(1983)
devine = 50 + 2.3 * excess_inch # Devine 公式(1974)
hamwi = 48 + 2.7 * excess_inch # Hamwi 公式(1964)
else:
robinson = 49 + 1.7 * excess_inch
miller = 53.1 + 1.36 * excess_inch
devine = 45.5 + 2.3 * excess_inch
hamwi = 45.5 + 2.2 * excess_inch
print(f"理想體重(BMI 22):{round_half_up(standard_weight)} kg")
print(f"健康體重範圍:{round_half_up(healthy_min)}~{round_half_up(healthy_max)} kg")
print(f"Robinson 公式:{round_half_up(robinson)} kg")
print(f"Miller 公式:{round_half_up(miller)} kg")
print(f"Devine 公式:{round_half_up(devine)} kg")
print(f"Hamwi 公式:{round_half_up(hamwi)} kg")
用 LaTeX 等數學式語言的寫法(可直接複製)
w₂₂ = 22 × h²
w_{22} = 22 \times h^{2}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<msub><mi>w</mi><mn>22</mn></msub>
<mo>=</mo>
<mn>22</mn>
<mo>×</mo>
<msup><mi>h</mi><mn>2</mn></msup>
</mrow>
</math>
w_(22) = 22 xx h^2
22*h^2
w22 := 22*h^2;
w22 = 22*h^2;
w_22 = 22 × h^2
wmin = 18.5 × h², wmax = 24 × h²
w_{\mathrm{min}} = 18.5 \times h^{2}, \quad w_{\mathrm{max}} = 24 \times h^{2}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<msub><mi>w</mi><mi>min</mi></msub>
<mo>=</mo>
<mn>18.5</mn>
<mo>×</mo>
<msup><mi>h</mi><mn>2</mn></msup>
<mo>,</mo>
<msub><mi>w</mi><mi>max</mi></msub>
<mo>=</mo>
<mn>24</mn>
<mo>×</mo>
<msup><mi>h</mi><mn>2</mn></msup>
</mrow>
</math>
w_(min) = 18.5 xx h^2, w_(max) = 24 xx h^2
{18.5*h^2, 24*h^2}
wmin := 18.5*h^2; wmax := 24*h^2;
w_min = 18.5*h^2; w_max = 24*h^2;
w_min = 18.5 × h^2, w_max = 24 × h^2
E = hcm ÷ 2.54 − 60, W = w₀ + k × E
E = \dfrac{h_{cm}}{2.54} - 60, \quad W = w_{0} + k \times E
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>E</mi>
<mo>=</mo>
<mfrac>
<msub><mi>h</mi><mi>cm</mi></msub>
<mn>2.54</mn>
</mfrac>
<mo>−</mo>
<mn>60</mn>
<mo>,</mo>
<mi>W</mi>
<mo>=</mo>
<msub><mi>w</mi><mn>0</mn></msub>
<mo>+</mo>
<mi>k</mi>
<mo>×</mo>
<mi>E</mi>
</mrow>
</math>
E = h_(cm)/2.54 - 60, W = w_0 + k xx E
w0 + k*(hcm/2.54 - 60)
excess := hcm/2.54 - 60; W := w0 + k*excess;
excess = hcm/2.54 - 60; W = w0 + k*excess;
E = h_cm/2.54 − 60, W = w_0 + k × E
請 ChatGPT 幫忙計算的方法
你是健康指標的計算助理。請務必實際執行 Python 程式碼來完成下面的計算,並只根據執行結果的數值回答(不要用心算或猜測回答)。 請針對身高 178 公分的成年男性,分別求出下列的值。 1. 理想體重(22 × 身高公尺的平方。身高請從公分換算成公尺) 2. 臺灣國民健康署的健康體重範圍(BMI 18.5 以上、未滿 24)的體重下限和上限(18.5 × 身高公尺的平方~24 × 身高公尺的平方) 3. 超過英寸 E(身高公分 ÷ 2.54 − 60) 4. 醫療上使用的 4 種理想體重公式的值(男性。Robinson 公式 52 + 1.9E、Miller 公式 56.2 + 1.41E、Devine 公式 50 + 2.3E、Hamwi 公式 48 + 2.7E) 請列出計算時使用的公式和執行結果的數值,並附註這是根據統計的參考值,不是醫學診斷。
使用方法
-
1輸入數值在輸入欄中輸入要計算的數值
-
2計算按下「計算」按鈕
-
3查看結果計算結果會立即顯示。計算的思路和公式的解說,也都能在同一個頁面查看
DataChef 的特色
不需專業知識,操作直覺又簡單
無須登錄任何個人資料
按下「下載」後自動刪除檔案
無須標註來源出處
亦無須事先取得商用授權