Excelのパーセント計算式:増加率・変化率・差の割合の求め方
用途別のExcelのパーセント計算式です。合計に占める割合、増加率、減少率、差の割合、割合の加減、誤差率を扱います。Excelでパーセントを計算する方法、変化率の公式、ゼロや負の数の場合も示します。
例の値が入力されています。ご自身の値に置き換えてください。
パーセント
84%
計算過程
- 42 ÷ 50 = 0.84
- セルの書式をパーセントにすると、0.84は84%と表示されます
- Excelの式
- =A2/B2
- Excelが保存する値(セルの書式をパーセントにしてください)
- 0.84
A列に昨年の売上、B列に今年の売上があり、19%を期待したのにExcelが0.19を返す。数式はたいてい正しく、セルが生の小数を表示しているだけです。
Excelのパーセント計算式はどれも、割り算のあとにパーセンテージの表示形式を付けたものです。このガイドでは、質問ごとの式、多くの解説が省く負の数とゼロの場合、五つの例題、コピーして使える表を紹介します。
Excelでのパーセントのしくみ
結論: Excelはパーセントを小数として保存するので、19%は0.19です。割り算で小数を求め、パーセンテージの表示形式を適用します。合計に占める割合なら =A2/B2、変化なら =(B2-A2)/A2 です。さらに100を掛けてはいけません。
Excelのパーセント計算式の一覧
| 目的 | 公式 | 例 |
|---|---|---|
| 合計に占める割合 | =A2/B2 | 50のうち42は84% |
| 増加率または減少率 | =(B2-A2)/A2 | 1,800から2,142は+19% |
| 差の割合 | =ABS(A2-B2)/AVERAGE(A2,B2) | 80と120の差は40% |
| 割合を足す | =A2*(1+B2) | 80に15%を足すと92 |
| 割合を引く | =A2*(1-B2) | 80から15%を引くと68 |
| 量を求める | =A2*B2 | 120の35%は42 |
| 合計を求める | =A2/B2 | 42は120の35% |
| 二つのパーセントの差 | =B2-A2 | 4.0%から4.5%は0.5ポイント |
| 誤差率 | =ABS(A2-B2)/ABS(B2) | 9.8に対する9.6は2.04% |
答えがパーセントになるセルは、結果の書式をパーセンテージにします。加算、減算、金額の行では、B2に15%のような割合が入っています。
Excelがパーセントを保存する仕組み
19%と表示されるセルは0.19を保持しており、セルに19%と入力しても0.19が保存されます。パーセンテージの表示形式は、数の見え方を変えるだけで、数そのものは変えません。そのため、=(B2-A2)/A2 が0.19を返すなら、数式は正しく、直すべきは別の数式ではなく書式です。
混乱の大半は二つの動作から生じます。すでにセルにある数にパーセンテージの表示形式を適用すると、100倍されるため、10は1000%になります。すでにパーセンテージの表示形式になっているセルでは、10と0.1のどちらを入力しても10%になると、Microsoftの文書に記載されています。
合計に占める割合
部分を全体で割ります。=A2/B2 です。部分が縦に並ぶ列では、下へコピーしても合計がずれないよう固定します。=A2/SUM(A$2:A$4) か、A5に合計があるなら =A2/$A$5 です。12、18、30の部分を合計60で割ると、20%、30%、50%になります。
Microsoft 365には PERCENTOF(data_subset, data_all) もあり、SUM(subset)/SUM(all) と同じ意味です。Microsoftの文書ではMicrosoft 365版のExcelのみが対象とされているため、古いExcelで開くファイルでは割り算の形を使ってください。
パーセントから量や合計を求める
量を求めるには掛けます。120と35%で =A2*B2 とすると42が返ります。合計を求めるには、量を割合で割ります。42と35%で =A2/B2 とすると120が返ります。後者は逆算の問題で、部分と割合がわかっていて、全体がわからない場合です。
セルをパーセンテージの表示形式にする
セルを選んで、WindowsではCtrl+Shift+%を押すか、ホームタブのパーセントスタイルのボタンを使います。小数点以下の桁数を指定するには、セルの書式設定を開き、数値からパーセンテージを選びます。書式は表示を変えるだけです。保存される値も丸めるには、数式を包みます。=ROUND((B2-A2)/A2,4) は、19%の変化に対して0.1900を保存します。
Excelの増加率の計算式
Excelで変化率を計算するには、新しい値から古い値を引き、古い値で割ります。=(B2-A2)/A2 です。Excelのユーザーが最初に思いつく増加率の式がこれです。1,800から2,142に増えた場合、結果は0.19で、19%と表示されます。
上昇のときにExcelで使う変化率の式は、結果が負になれば減少率の式になります。640から512への減少は−20%を返します。一つの式で両方を扱えるので、列の見出しは「増加」ではなく「変化」にしてください。
もっと短い同等の式は =B2/A2-1 です。開始値が正なら同じ答えになりますが、開始値が負のときは符号が逆になります。これは次のセクションで扱います。期間が並ぶ列では、前月比は二行目から下へコピーした =B3/B2-1 です。100、110、99の値では、10%と−10%が返ります。
負の数とゼロの場合の変化率
Excelで最初に入力しがちな変化率の式 =(B2-A2)/A2 は、二つの入力で破綻します。
開始値がゼロの場合。=(B2-A2)/A2 は#DIV/0!を返します。ゼロからの変化には、パーセントがないからです。空のセルではなく、目印を表示してください。=IF(A2=0,"n/a",(B2-A2)/A2) です。IFERROR も使えますが、数値として保存された文字列による#VALUE!など、見たいはずのエラーまですべて空にしてしまいます。
開始値が負。 損失が−50から−25に縮小するのは改善ですが、=(B2-A2)/A2 は−50%を返し、悪化に見えます。開始値の絶対値で割ると、動きの符号が保たれます。=(B2-A2)/ABS(A2) は+50%を返します。ゼロの判定と組み合わせると、=IF(A2=0,"n/a",(B2-A2)/ABS(A2)) です。これは変化率計算機が使っているのと同じ規則です。
−50から25のように符号が入れ替わる場合、開始値の絶対値を使う式は+150%を返します。これは、動き(75)を開始時の大きさ(50)で割った値です。多くの財務チームは代わりに、意味がないことを表す「n/m」を報告します。=IF(A2=0,"n/a",IF(SIGN(A2)<>SIGN(B2),"n/m",(B2-A2)/ABS(A2))) です。規則を一つ選んで、シート全体に適用してください。
Excelの差の割合の計算式
どちらの値も基準でないときの、Excelでの差の割合の求め方は、差を二つの値の平均で割ります。=ABS(A2-B2)/AVERAGE(A2,B2) です。80と120なら、差は40、平均は100なので、差の割合は40%です。Excelで必要な差の割合の公式は、どんな組でも同じで、差の割合計算機でも同じ計算過程が確認できます。
セルを入れ替えても答えは同じで、それが狙いです。変化率は対称ではありません。80から120は+50%ですが、120から80は−33.33%です。前と後があるときは変化率、二つの値が対等なとき、たとえば二つの仕入先の価格のときは差の割合を使います。二つの数の差の割合を求める組み込み関数はExcelにないので、この公式が標準的な方法です。
Excelで割合を足す・引く
一に割合を足した値、または一から割合を引いた値を掛けます。B2にパーセントで割合が入っているとき、=A2*(1+B2) は加算、=A2*(1-B2) は減算です。80に15%の割合を適用すると、92と68が返ります。=A2*(1+15%) のように割合を数式に直接入力することもできますが、割合を別のセルに置けば、価格の変更は数式を探し回らずに一か所の編集で済みます。
Excelで二つのパーセントの差を求める
二つのパーセントは、変化率の計算式ではなく引き算で比べます。=B2-A2 です。割合が4.0%から4.5%に動くと、0.5%、つまり0.5パーセントポイントが返ります。同じセルの相対的な変化は =(B2-A2)/A2 で、12.5%です。この二つは別の問いに答えるもので、取り違えるのが最もよくある報告ミスです。
差をポイント数の単なる数として示すには、=ROUND((B2-A2)*100,2) を使い、列名を「pts」とします。どちらの数字を示すべきかは、パーセントポイントのガイドで説明しています。
Excelで誤差率を求める
誤差率は、測定値を基準値と比べます。=ABS(A2-B2)/ABS(B2) で、測定値がA2、基準値がB2にあります。基準値9.8に対して測定値が9.6なら、2.04%が返ります。誤差率計算機は計算の過程を示し、複数の測定値を一度に扱えます。
Google Sheetsでのパーセント
上の割り算と引き算の式は、どれもGoogle Sheetsでそのまま使えます。Sheetsで二つのパーセントの差を求める方法も、同じ =B2-A2 です。違いは小さなものです。セルの表示形式は、「表示形式」、「数字」、「パーセント」の順に選ぶか、WindowsではCtrl+Shift+5を押します。一つのセルから列全体に式を入れるには、変化率の式を ARRAYFORMULA で包み、空の行への対策を付けます。コードの節に示したとおりです。合計に占める割合の割り算の形は、どちらのツールでも動くので、両者の間でやり取りするファイルでは、より安全な選択です。
Excelのパーセント計算式の例題
例題1:合計に占める割合
条件
答え
=A2/B2 は0.84を返し、パーセンテージの表示形式で84%と表示されます。例題2:増加率
条件
手順 1
変化量は342で、342を1,800で割ると0.19です。
答え
=(B2-A2)/A2 は19%と表示します。例題3:減少率
条件
手順 1
変化量は−128で、−128を640で割ると−0.2です。
答え
例題4:差の割合
条件
答え
=ABS(A2-B2)/AVERAGE(A2,B2) は、セルの順序に関係なく40%と表示します。例題5:負の開始値
条件
手順 1
単純な数式=(B2-A2)/A2は−50%を返し、悪化と読めてしまいます。
答え
=(B2-A2)/ABS(A2) は25を50で割って+50%を返し、数字が示す改善と一致します。五つの例題を一枚のシートで
| 例 | A2 | B2 | C2の数式 | C2の表示 |
|---|---|---|---|---|
| 1 合計に占める割合 | 42 | 50 | =A2/B2 | 84% |
| 2 増加 | 1800 | 2142 | =(B2-A2)/A2 | 19% |
| 3 減少 | 640 | 512 | =(B2-A2)/A2 | −20% |
| 4 差 | 80 | 120 | =ABS(A2-B2)/AVERAGE(A2,B2) | 40% |
| 5 負の開始値 | −50 | −25 | =(B2-A2)/ABS(A2) | 50% |
空白のシートの2行目に各行を入力し、C列にパーセンテージの表示形式を適用します。
Excelのパーセント計算式のコード
ゼロの判定と、絶対値の開始値を使う、安全な変化の数式です。
=IF(A2=0,"n/a",(B2-A2)/ABS(A2))符号が反転する場合に「n/m」を返す、同じ規則です。
=IF(A2=0,"n/a",IF(SIGN(A2)<>SIGN(B2),"n/m",(B2-A2)/ABS(A2)))Google Sheetsで、一つのセルから列を埋め、空白行を飛ばす方法です。
=ARRAYFORMULA(IF(A2:A="","",IF(A2:A=0,"n/a",(B2:B-A2:A)/ABS(A2:A))))表計算の外で同じ計算をするには、pandasを使います。
import pandas as pddef pct_change_abs(s: pd.Series) -> pd.Series: change = s.diff() / s.shift().abs() return change.where(s.shift() != 0)Series.pct_change() は、−50から−25への動きに−50%を返し、単純なExcelの数式と同じ符号の問題があります。直前の値がゼロのときはinfを返します。pct_change_abs は+50%を返し、ゼロの場合は空にします。
表計算の安全性
このページの数式は、単純な算術です。マクロ、外部ブックへのリンク、アドインはどれも使わず、テキストとしてコピーできます。ご自身のシートに入力した値は、ご自身のファイルの中にとどまります。
パーセントが他人のデータから来る場合、三つの安全上の点が重要です。
- CSVと数式インジェクション。=、+、-、アットマークで始まるセルは、CSVをExcelで開いたときに数式として読まれます。−5%のような本物のパーセントはマイナス記号で始まるので、単純なフィルターでは、実際のデータを遮断するか、細工されたセルを通してしまいます。他の人向けにファイルを作るときは、セルの先頭に一重引用符かタブを付けて無害化し、信頼できないCSVは、列を文字列に設定したインポートウィザードで開いてください。
- 文字列として保存された数値。 インポートした「19%」が左揃えなら、それは文字列で、計算されません。
=VALUE("19%")は0.19を返します。または「区切り位置」を使います。 - 外部リンク。 出所のわからない場所から貼り付けた数式に、角括弧で囲まれたブックのパスが含まれていると、別のファイルから読み取ります。Excelはリンクを更新する前に確認を求めるので、出所を信頼できない限り断ってください。
Excelのパーセント計算でよくある間違い
| 間違い | 何が起こるか | 直し方 |
|---|---|---|
| 結果が19%ではなく0.19と表示される | セルの書式が「標準」になっている | パーセンテージの表示形式を適用する |
| 100を掛けたうえでパーセンテージの表示形式にする | 19が1900%と表示される | どちらか一方だけにする |
| 新しい値で割る | =(B2-A2)/B2 は、1,800から2,142で19%ではなく15.97%になる | 古い値で割る |
| #DIV/0! | 開始値がゼロ | =IF(A2=0,"n/a",(B2-A2)/A2) |
| 開始値が負だと逆に読める | −50から−25が−50%と表示される | ABS(A2) で割る |
| 下へコピーすると合計がずれる | =A2/B2 が =A3/B3 になり、合計が動く | 固定する: =A2/$B$2 |
| パーセントが文字列として保存されている | 「19%」は数式に無視される | =VALUE(A2) または「区切り位置」 |
| Excelがセミコロンを期待する場所でカンマを使う | 多くのヨーロッパのロケールで構文エラーになる | 引数の間にはセミコロンを使う |
| パーセントを引き算して、それをパーセントと呼ぶ | 4.0%から4.5%は0.5%ではなく0.5ポイント | 結果をポイントと明記する |
変化率、差の割合、ポイント、合計に占める割合の違い
| 指標 | 公式 | 基準 | 対称性 | 例 |
|---|---|---|---|---|
| 変化率 | =(B2-A2)/A2 | 元の値 | なし | 80から120は+50% |
| 差の割合 | =ABS(A2-B2)/AVERAGE(A2,B2) | 両方の平均 | はい | 80と120は40% |
| パーセントポイント | =B2-A2 | なし | なし(符号付き) | 4.0%から4.5%は0.5ポイント |
| 合計に占める割合 | =A2/B2 | 合計 | 該当なし | 50のうち42は84% |
| 誤差率 | =ABS(A2-B2)/ABS(B2) | 基準値 | なし | 9.8に対する9.6は2.04% |
変化には、前と後が必要です。差は、二つの値を対等に扱います。ポイントは、二つのパーセントを直接比べ、合計に占める割合は、部分を全体と比べます。
よくある質問
Excelでパーセントを計算するにはどうしますか?
=A2/B2 です。A2が42、B2が50なら、結果は0.84で、84%と表示されます。さらに100を掛けてはいけません。Sheetsで二つのパーセントの差を計算するにはどうしますか?
=B2-A2 です。4.0%から4.5%は0.5パーセントポイントです。相対的な変化を知りたい場合は =(B2-A2)/A2 を使います。同じセルで12.5%です。Excelで増加率を計算するにはどうしますか?
=(B2-A2)/A2 です。1,800から2,142なら、結果は19%です。この数式は、「Excelで増加率を計算するには」や「Excelで増加の割合を求めるには」という、同じ問いにあたります。Excelで差の割合を計算するにはどうしますか?
=ABS(A2-B2)/AVERAGE(A2,B2) です。80と120なら、どちらのセルが先でも答えは40%です。Excelで減少率を計算するにはどうしますか?
=(B2-A2)/A2 を使い、負の結果は減少と読みます。640から512への減少は−20%を返します。正の数として表示するには、数式を ABS で包みます。Excelで数に割合を足すにはどうしますか?
=A2*(1+B2) です。80に15%の割合なら92が返ります。引くには =A2*(1-B2) を使います。