年齢を入力して「計算する」を押してください。安静時心拍数を入力すると、体力の個人差を反映するカルボーネン法で計算します(未入力の場合は最大心拍数の単純な割合で計算)。運動負荷試験などで実測した最大心拍数がある場合は、年齢の代わりにそのまま使えます。
目次
このページでできること
- 年齢を入れるだけで、運動中の目安になる目標心拍数ゾーン(最大心拍数の50〜85%)がその場でわかります
- 運動強度50〜100%を5段階に分けたゾーン別の目標心拍数の表とグラフを表示します。ウォームアップ・脂肪燃焼・持久力向上など、目的に合った強度選びの目安になります
- 安静時心拍数を入力すると、体力の個人差を反映するカルボーネン法で計算します(未入力なら最大心拍数の単純な割合で計算)
- 最大心拍数の推定式は「220 − 年齢」(標準)のほかTanaka式・Nes式も選べ、実測値があればそのまま使えます
- 式のやさしい解説・Excel/Googleスプレッドシート/Python用のコピペ数式・計算ドリル(演習問題)もこのページにまとまっています
この計算は何の役に立つ?
「息が上がりすぎず、でも運動になっている」ペースを感覚だけで保つのは意外と難しいものです。目標心拍数があれば、走りながら心拍数を見るだけでペースを客観的に調整できます。
例えば30歳・安静時心拍数70bpmの人が持久力の土台づくりの強度60〜70%を狙うなら、カルボーネン法で142〜154bpmが目安になります。この範囲に収まるようにペースを上げ下げする、という使い方です。
脂肪がエネルギーとして使われやすいのは、一般に「楽に会話できる」程度の中くらいの強度(最大心拍数の60〜70%前後)とされています。頑張りすぎてきつい強度にすると長く続けられず、かえって総消費量が伸びないことがあります。
例えば50歳(最大心拍数の目安170bpm)なら、最大心拍数法で102〜119bpm程度がこのゾーンです。「きつくないのに効いている」強度を数字で確かめられるのがこの計算の使いどころです。
ランニングウォッチやスマートウォッチの多くは、心拍数を「ゾーン1〜5」のような色分けで表示します。その区切りの正体が、まさにこのページの「最大心拍数の◯%」という考え方です。
仕組みがわかると、「今日はゾーン2でゆっくり長く」「インターバルはゾーン4まで上げる」のように、ウォッチの表示を根拠を持って使い分けられるようになります。設定画面で最大心拍数や安静時心拍数を自分の値に直すと、ゾーンの精度も上がります。
久しぶりに運動する人がいきなり高い強度で頑張ると、続かないだけでなく体への負担も大きくなります。運動を始めたばかりの時期は、ウォームアップ・体力維持ゾーン(最大心拍数の50〜60%)程度の楽な強度から慣らしていくのが一般的なすすめ方です。
例えば40歳なら最大心拍数の目安は180bpmで、このゾーンは90〜108bpm程度。「これ以上は上げない」という上限を数字で持てるのは、無理をしがちな再開時の安全装置になります。なお、持病のある方や健康に不安のある方は、運動を始める前に医師に相談してください。
持久系スポーツでは、「ゆっくり長く走る日」と「強度を上げる日」を心拍数ゾーンで分けて管理するのが一般的です。強度の判断を感覚に頼らないことで、鍛えたい能力に合った練習を狙って積み上げられます。
例えば25歳・安静時心拍数60bpmの選手なら、カルボーネン法で無酸素性の能力向上ゾーン(80〜90%)は168〜182bpmです。インターバル走でこの範囲まで追い込み、回復走は低いゾーンに抑える、といった組み立てに使われています。
式とグラフ
用語・記号の解説
記号
| \(T\) | ティー | 求めたい目標心拍数(bpm)。英語の Target(目標)の頭文字です。 |
| \(M\) | エム | 最大心拍数(bpm)。全力運動時に達しうる心拍数の上限で、英語の Maximum の頭文字です。 |
| \(A\) | エー | 年齢(歳)。英語の Age の頭文字です。 |
| \(R\) | アール | 安静時心拍数(bpm)。英語の Rest(安静)の頭文字です。 |
| \(p\) | ピー | 運動強度。最大の何%の強さで運動するかを小数で表した値です(50%なら0.50)。 |
| \(M - R\) | エム引くアール | 心拍予備(最大心拍数 − 安静時心拍数)。運動で心拍数が上げられる「余裕の幅」を表し、カルボーネン法の土台になる量です。 |
用語
| 心拍数 | しんぱくすう | 心臓が1分間に打つ回数。単位はbpm(beats per minute)です。手首の脈拍を15秒数えて4倍しても測れます。 |
| 最大心拍数 | さいだいしんぱくすう | 全力運動をしたときに達しうる心拍数の上限。年齢とともに下がる傾向があり、「220 − 年齢」などの式で推定します(同じ年齢でも±10bpm程度の個人差があります)。 |
| 安静時心拍数 | あんせいじしんぱくすう | 落ち着いて安静にしているときの心拍数。成人の目安は50〜90bpm程度で、持久系の運動を続けると下がる傾向があります。朝、目が覚めた直後に測るのが基本です。 |
| 心拍予備 | しんぱくよび | 最大心拍数から安静時心拍数を引いた値(HRR:Heart Rate Reserve)。運動で心拍数が上げられる「余裕の幅」を表し、カルボーネン法の土台です。 |
| カルボーネン法 | カルボーネンほう | 心拍予備に運動強度を掛けて安静時心拍数を足し戻す、目標心拍数の代表的な計算方式。フィンランドの生理学者カルボーネンが提案したもので、健康運動指導の現場で広く使われています。 |
| 目標心拍数 | もくひょうしんぱくすう | 運動の目的に合った強度を保つために、運動中の目安とする心拍数(THR:Target Heart Rate)。このページで求める値です。 |
| 運動強度 | うんどうきょうど | 運動のきつさの度合い。このページでは「最大心拍数(または心拍予備)の何%か」で表します。 |
| bpm | ビーピーエム | beats per minute(1分あたりの拍動数)の略。心拍数の単位です。 |
| β遮断薬 | ベータしゃだんやく | 心拍数を抑える働きのある薬で、高血圧や心臓病の治療に使われます。服用中は運動しても心拍数が上がりにくくなるため、このページの計算は目安になりません。運動の強度は医師に相談して決めてください。 |
前提として理解しておくといいこと
このページの計算を「意味がわかって」使えるようになるために、前提として理解しておくといいことをまとめました。
| 割合・百分率(小学5年) |
|
| 計算の順序(小学4年) |
|
| 四捨五入(小学4〜5年) |
|
| 文字式への代入(中学1年) |
|
Excelで計算する方法
| 年齢 A(歳) | 30 |
| 最大心拍数 M(bpm) | =220-B1 |
| 年齢 A(歳) | 40 |
| Tanaka式の最大心拍数(bpm) | =ROUND(208-0.7*B1,0) |
| Nes式の最大心拍数(bpm) | =ROUND(211-0.64*B1,0) |
| 最大心拍数 M(bpm) | 195 |
| 運動強度 p(60%なら0.6) | 0.6 |
| 目標心拍数 T(bpm) | =ROUND(B1*B2,0) |
| 最大心拍数 M(bpm) | 190 |
| 安静時心拍数 R(bpm) | 70 |
| 運動強度 p(50%なら0.5) | 0.5 |
| 目標心拍数 T(bpm) | =ROUND(B2+B3*(B1-B2),0) |
「ROUND(値,0)」は整数への四捨五入です。例えば1つ目の表なら190、2つ目の表なら180と185、3つ目の表なら117、4つ目の表なら130と表示されます。年齢や心拍数を自分の数値に書き換えるだけで使えます。
Googleスプレッドシートで計算する方法
| 年齢 A(歳) | 30 |
| 最大心拍数 M(bpm) | =220-B1 |
| 年齢 A(歳) | 40 |
| Tanaka式の最大心拍数(bpm) | =ROUND(208-0.7*B1,0) |
| Nes式の最大心拍数(bpm) | =ROUND(211-0.64*B1,0) |
| 最大心拍数 M(bpm) | 195 |
| 運動強度 p(60%なら0.6) | 0.6 |
| 目標心拍数 T(bpm) | =ROUND(B1*B2,0) |
| 最大心拍数 M(bpm) | 190 |
| 安静時心拍数 R(bpm) | 70 |
| 運動強度 p(50%なら0.5) | 0.5 |
| 目標心拍数 T(bpm) | =ROUND(B2+B3*(B1-B2),0) |
Pythonで計算する方法
age = 30 # 年齢(歳)
resting_hr = 70 # 安静時心拍数(bpm)。不明なら None にする
measured_max_hr = None # 実測の最大心拍数(bpm)。あれば数値を入れる
# 最大心拍数(実測値があればそれを優先。無ければ 220 − 年齢 で推定)
if measured_max_hr is not None:
max_hr = measured_max_hr
else:
max_hr = 220 - age
def round_half_up(x):
# 0.5を足して切り捨てる四捨五入(Pythonのround()は0.5を偶数へ丸めるため使わない)
return int(x + 0.5)
def target_hr(intensity_percent):
# 安静時心拍数があればカルボーネン法、無ければ最大心拍数法
if resting_hr is not None:
return round_half_up(resting_hr + intensity_percent / 100 * (max_hr - resting_hr))
return round_half_up(max_hr * intensity_percent / 100)
print(f"最大心拍数: {round_half_up(max_hr)} bpm")
print(f"目標心拍数の目安(強度50〜85%): {target_hr(50)}〜{target_hr(85)} bpm")
for lower, upper in [(50, 60), (60, 70), (70, 80), (80, 90), (90, 100)]:
print(f"強度{lower}〜{upper}%: {target_hr(lower)}〜{target_hr(upper)} bpm")
数式記述言語(LaTeX等)での書き方(コピペ可)
M = 220 − A
M = 220 - A
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>M</mi>
<mo>=</mo>
<mn>220</mn>
<mo>−</mo>
<mi>A</mi>
</mrow>
</math>
M = 220 - A
220 - A
M := 220 - A;
M = 220 - A;
M = 220 - A
M = 208 − 0.7 × A, M = 211 − 0.64 × A
M = 208 - 0.7A, \quad M = 211 - 0.64A
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>M</mi>
<mo>=</mo>
<mn>208</mn>
<mo>−</mo>
<mn>0.7</mn>
<mi>A</mi>
<mo>,</mo>
<mi>M</mi>
<mo>=</mo>
<mn>211</mn>
<mo>−</mo>
<mn>0.64</mn>
<mi>A</mi>
</mrow>
</math>
M = 208 - 0.7A, M = 211 - 0.64A
{208 - 0.7*A, 211 - 0.64*A}
M1 := 208 - 0.7*A; M2 := 211 - 0.64*A;
M1 = 208 - 0.7*A; M2 = 211 - 0.64*A;
M = 208 - 0.7A, M = 211 - 0.64A
T = M × p
T = M \times p
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>T</mi>
<mo>=</mo>
<mi>M</mi>
<mo>×</mo>
<mi>p</mi>
</mrow>
</math>
T = M p
M*p
T := M*p;
T = M*p;
T = M p
T = R + p × (M − R)
T = R + p \times (M - R)
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>T</mi>
<mo>=</mo>
<mi>R</mi>
<mo>+</mo>
<mi>p</mi>
<mo>×</mo>
<mrow>
<mo>(</mo>
<mi>M</mi>
<mo>−</mo>
<mi>R</mi>
<mo>)</mo>
</mrow>
</mrow>
</math>
T = R + p xx (M - R)
R + p*(M - R)
T := R + p*(M - R);
T = R + p*(M - R);
T = R + p(M - R)
ChatGPT に聞いて計算してもらう方法
あなたは運動生理学の計算アシスタントです。次の計算を、必ずPythonコードを実際に実行して行い、実行結果の数値だけを根拠に回答してください(暗算や推測で答えないでください)。 30歳・安静時心拍数70bpmの人の目標心拍数を求めます。 1. 最大心拍数を「220 − 年齢」で推定してください。 2. カルボーネン法 T = 安静時心拍数 + 強度 × (最大心拍数 − 安静時心拍数) で、運動強度50%・60%・70%・80%・90%・100%の目標心拍数を一覧にしてください。 3. 心拍数は整数のbpmへ四捨五入(0.5以上切り上げ)してください。 計算に使った式と、実行結果の数値を示してください。なお、これは健康な成人向けの一般的な目安であり、心臓の病気がある方や心拍数に影響する薬を服用中の方は医師に相談すべき旨も添えてください。
計算ドリル(演習問題)
このページの式を、自分の手で計算できるようになるための演習問題です。
答えと解説は解答ページにあります。
使い方
-
1数値を入力計算したい数値を入力欄に入力します
-
2計算「計算する」ボタンを押します
-
3結果を確認計算結果がその場に表示されます。計算の考え方や式の解説も同じページで確認できます
DataChefの特徴
専門知識不要、直感的で簡単な操作
個人情報を登録することなく使用できます
「ダウンロード」押下でファイルを自動削除
クレジット表記不要
商用利用許諾の連絡も不要です
