食事管理をしていると、
P:30%
F:20%
C:50%
のようなPFCバランスを見かけることがあります。
でも実際に食事を記録するときに必要なのは、
たんぱく質を何g
脂質を何g
炭水化物を何g
という数字です。
割合だけ分かっていても、そのままでは食品表示と比較しにくいですよね。
PFCバランスをgへ変換するときに基本になるのが、
P:1g = 4kcal
F:1g = 9kcal
C:1g = 4kcal
という関係です。
この記事では、1日の摂取カロリーとPFC比率から、それぞれ何gになるのかを計算する方法を整理します。
PFCとは?
PFCは、
P = Protein
F = Fat
C = Carbohydrate
の頭文字です。
日本語では、
P = たんぱく質
F = 脂質
C = 炭水化物
です。
食事全体のエネルギーを、この3つからどのくらい取るかを見るときにPFCバランスという言葉が使われます。
PFCの「30%」は重量ではない
ここは最初に注意したいポイントです。
たとえば、
P:30%
F:20%
C:50%
と書かれていても、
食事の重量の30%がたんぱく質
という意味ではありません。
基本的には、
摂取エネルギーのうち何%を占めるか
という割合です。
そのため、gへ直すには一度kcalへ変換する必要があります。
1gあたりのカロリー
基本になるのは、
たんぱく質:4kcal/g
脂質:9kcal/g
炭水化物:4kcal/g
です。
たんぱく質と炭水化物は1gあたり4kcal。
脂質は1gあたり9kcalです。
脂質だけ数字が大きいため、同じg数でもエネルギー量が大きくなります。
2000kcalでP30・F20・C50を計算する
1日の摂取カロリーを、
2000kcal
とします。
PFCを、
P:30%
F:20%
C:50%
にするとします。
まず、それぞれに何kcal割り当てるのかを計算します。
たんぱく質
2000 × 0.30
= 600kcal
脂質
2000 × 0.20
= 400kcal
炭水化物
2000 × 0.50
= 1000kcal
合計すると、
600 + 400 + 1000
= 2000kcal
になります。
kcalからgへ変換する
次に、それぞれを1gあたりのカロリーで割ります。
P:たんぱく質
600 ÷ 4
= 150g
F:脂質
400 ÷ 9
≈ 44.4g
C:炭水化物
1000 ÷ 4
= 250g
したがって、
2000kcal
P 30%
F 20%
C 50%
なら、おおよそ、
たんぱく質:150g
脂質:44.4g
炭水化物:250g
となります。
なぜ脂質だけg数が少なくなる?
先ほどの例では、
脂質20% = 400kcal
でした。
でもgにすると、
約44.4g
しかありません。
理由は単純で、
脂質1g = 9kcal
だからです。
たんぱく質や炭水化物は、
1g = 4kcal
なので、同じカロリーを取るなら脂質の方が必要な重量は少なくなります。
400kcalをそれぞれで取ると?
たとえば400kcalを、
たんぱく質から取る場合:
400 ÷ 4
= 100g
炭水化物でも:
400 ÷ 4
= 100g
脂質なら:
400 ÷ 9
≈ 44.4g
です。
同じ400kcalでも、重さは大きく違います。
計算式をまとめる
1日の摂取カロリーをK、
PFC比率をそれぞれ、
P%
F%
C%
とすると、
たんぱく質
P(g)
= K × (P / 100) ÷ 4
脂質
F(g)
= K × (F / 100) ÷ 9
炭水化物
C(g)
= K × (C / 100) ÷ 4
です。
JavaScriptで計算する
シンプルに関数化すると、
function calcPFC(
calories,
proteinPercent,
fatPercent,
carbPercent
) {
const proteinKcal =
calories * proteinPercent / 100;
const fatKcal =
calories * fatPercent / 100;
const carbKcal =
calories * carbPercent / 100;
return {
protein: proteinKcal / 4,
fat: fatKcal / 9,
carbs: carbKcal / 4
};
}
使い方は、
const result = calcPFC(
2000,
30,
20,
50
);
console.log(result);
です。
結果はおおよそ、
{
protein: 150,
fat: 44.44444444444444,
carbs: 250
}
となります。
小数は丸める
実際の食事管理では、
44.444444g
まで表示してもあまり意味がありません。
たとえば、
const fat =
Math.round((400 / 9) * 10) / 10;
console.log(fat);
// 44.4
のように小数第1位までにすると見やすくなります。
PFCの合計が100%か確認する
入力フォームを作る場合、
P = 30
F = 20
C = 50
なら、
30 + 20 + 50
= 100
なので問題ありません。
でも、
P = 30
F = 30
C = 50
なら、
110%
になってしまいます。
PFC比率として使うなら、合計を確認しておく必要があります。
JavaScriptなら、
const total =
proteinPercent +
fatPercent +
carbPercent;
if (total !== 100) {
console.warn(
"PFC比率の合計が100%ではありません"
);
}
のようにできます。
浮動小数点の比較には注意
ただし実際のコードでは、
total !== 100
だけでは、小数入力がある場合に扱いにくいことがあります。
たとえば、
33.3
33.3
33.4
のような割合です。
そのため、
const epsilon = 0.0001;
if (Math.abs(total - 100) > epsilon) {
// エラー
}
のように許容誤差を持たせる方法もあります。
gからPFC比率を逆算する
逆の計算もできます。
たとえば、
P:100g
F:60g
C:250g
食べたとします。
まず、それぞれをkcalへ変換します。
P
100 × 4
= 400kcal
F
60 × 9
= 540kcal
C
250 × 4
= 1000kcal
合計は、
400 + 540 + 1000
= 1940kcal
です。
比率を求める
たんぱく質は、
400 ÷ 1940 × 100
≈ 20.6%
脂質は、
540 ÷ 1940 × 100
≈ 27.8%
炭水化物は、
1000 ÷ 1940 × 100
≈ 51.5%
です。
つまり、おおよそ、
P:20.6%
F:27.8%
C:51.5%
となります。
gから比率を出すJavaScript
function calcPFCRatio(
proteinGram,
fatGram,
carbGram
) {
const proteinKcal = proteinGram * 4;
const fatKcal = fatGram * 9;
const carbKcal = carbGram * 4;
const total =
proteinKcal +
fatKcal +
carbKcal;
return {
protein:
proteinKcal / total * 100,
fat:
fatKcal / total * 100,
carbs:
carbKcal / total * 100
};
}
このように、PFC計算は、
割合 → g
だけでなく、
g → 割合
にもできます。
食品表示と比較するときはgが便利
実際の食品表示では、
たんぱく質 12.4g
脂質 8.1g
炭水化物 35.2g
のように書かれています。
そのため、
P 25%
だけで食事管理するより、
今日はPを何g取る
まで計算した方が、食品表示と照らし合わせやすくなります。
1日分を3食に分ける
たとえば1日の目標が、
P:120g
F:60g
C:240g
だったとします。
単純に3食へ均等に分けるなら、
P:40g
F:20g
C:80g
ずつです。
ただし、必ず均等にする必要はありません。
朝を軽くして夜を多めにするなど、生活に合わせて配分できます。
1日単位で見る方法もある
毎食、
Pを正確に40g
Fを正確に20g
のように合わせるのは大変です。
そのため、
朝
昼
夜
間食
を合計して、1日全体で目標に近づける方法もあります。
計算上の目標値は、実際の食事を組み立てるための目安として使えます。
PFC比率だけでは食事の良し悪しは決まらない
ここは重要です。
たとえば、
P 25%
F 25%
C 50%
という比率が同じでも、
どんな食品から摂っているか
によって食事内容はまったく違います。
PFCバランスは、
食事全体を見る一つの指標
であって、それだけで栄養状態のすべてを判断できるわけではありません。
同じ炭水化物でも食品は違う
炭水化物50gといっても、
米
パン
果物
菓子
では、それ以外に含まれる栄養素も違います。
同じように脂質でも、
食品によって構成は異なります。
そのため、
PFCさえ合えば何を食べても同じ
ということではありません。
カロリーとPFCはセットで考える
PFC比率だけ決めても、
1日の総カロリー
が分からなければg数は計算できません。
たとえば、
P:30%
でも、
1500kcalの場合と、
2500kcalの場合
では必要なたんぱく質量が変わります。
1500kcalなら、
1500 × 0.3 ÷ 4
= 112.5g
2500kcalなら、
2500 × 0.3 ÷ 4
= 187.5g
です。
比率が同じでもg数は同じではありません。
まず総カロリーを決める
PFC計算は、
総摂取カロリー
↓
PFC比率
↓
各栄養素のg数
という順番で考えると分かりやすいです。
たとえば、
2000kcal
↓
P30 / F20 / C50
↓
150g / 44.4g / 250g
という流れです。
数字を変えながら比較したい場合
摂取カロリーやPFC比率を変えて、それぞれ何gになるのか確認したい場合は、次のページで計算できます。
たとえば、
1800kcal
2000kcal
2200kcal
で同じPFC比率を指定して、g数がどのくらい変わるのか比較すると分かりやすくなります。
1800kcalと2200kcalを比較する
たとえば、
P:25%
F:25%
C:50%
とします。
1800kcal
P:
1800 × 0.25 ÷ 4
= 112.5g
F:
1800 × 0.25 ÷ 9
= 50g
C:
1800 × 0.50 ÷ 4
= 225g
2200kcal
P:
2200 × 0.25 ÷ 4
= 137.5g
F:
2200 × 0.25 ÷ 9
≈ 61.1g
C:
2200 × 0.50 ÷ 4
= 275g
同じPFC比率でも、総カロリーが違えば目標g数もかなり変わります。
PFC計算でありがちなミス
よくあるのが、
P30%
→ 食事重量の30%
と考えてしまうことです。
PFC比率は基本的に、
エネルギー比率
として考えます。
そのため、
まずkcalを割り当てる
↓
4・9・4でgに戻す
という順番が必要です。
脂質を4で割らない
もう一つ多いのが、
PもFもCも全部4で割る
という間違いです。
正しくは、
P:4kcal/g
F:9kcal/g
C:4kcal/g
です。
脂質だけ9です。
ここを間違えると脂質のg数が大きくズレます。
アルコールはPFCに含めない
エネルギー源としてはアルコールにもカロリーがありますが、
P
F
C
のどれかではありません。
そのため、アルコール由来のエネルギーがある食事では、
単純にPFCだけから総カロリーを完全に再現できない場合があります。
食品表示と計算結果が完全に一致しない理由の一つになります。
食品表示のカロリーと4-9-4が一致しないこともある
食品表示に書かれている、
たんぱく質
脂質
炭水化物
を4-9-4で計算しても、表示カロリーと完全に一致しない場合があります。
これは、
表示上の丸め
食物繊維
アルコール
その他の成分
などが関係する場合があります。
そのため、数kcal程度の差を必ず計算ミスと考える必要はありません。
小数の丸めでも差が出る
たとえば、
P:123.7g
F:52.8g
C:256.4g
を整数に丸めれば、
124g
53g
256g
となります。
当然、再計算した総カロリーにも少し差が出ます。
日常的な食事管理なら、必要以上に細かい小数まで合わせなくてもよいでしょう。
計算値は「目標」のための数字
PFC計算で、
P:128.4g
と出ても、
毎日必ず128.4gちょうど取らなければならない
という意味ではありません。
食品そのものにも誤差があり、食事量も完全には測れません。
実際には、
この付近を目標にする
という使い方の方が現実的です。
目的によって適切な比率は変わる
どんなPFC比率が適しているかは、
年齢
体格
活動量
健康状態
運動内容
目的
などによって変わります。
そのため、
P30・F20・C50が全員に正解
のような一つの比率があるわけではありません。
計算ツールは、
指定した比率をgへ変換する
ためのものとして考えるのが分かりやすいです。
特別な栄養管理が必要な場合
治療中だったり、持病があったり、妊娠・授乳中などの場合は、一般的なPFC計算だけで食事量を決めるのが適切とは限りません。
こうした場合は、医師や管理栄養士などの専門家が示す方針を優先する必要があります。
計算ロジック自体はシンプル
PFC計算のロジックをまとめると、
1. 総カロリーを決める
2. PFC比率を掛けて各kcalを求める
3. PとCは4で割る
4. Fは9で割る
です。
たとえば、
2000kcal
P30 / F20 / C50
なら、
P:2000 × 0.30 ÷ 4
F:2000 × 0.20 ÷ 9
C:2000 × 0.50 ÷ 4
となります。
まとめ
PFCバランスをgへ変換するときは、
P:4kcal/g
F:9kcal/g
C:4kcal/g
を使います。
基本式は、
P(g)
= 総カロリー × P比率 ÷ 4
F(g)
= 総カロリー × F比率 ÷ 9
C(g)
= 総カロリー × C比率 ÷ 4
です。
たとえば、
2000kcal
P30%
F20%
C50%
なら、
P:約150g
F:約44.4g
C:約250g
です。
PFC計算で大切なのは、
割合をそのままgとして考えず、一度kcalへ変換してから4-9-4でgへ戻すこと。
この流れを理解しておけば、総カロリーや比率が変わっても自分で計算できるようになります。