メインコンテンツへ移動

例の値が入力されています。ご自身の値に置き換えてください。

パーセント

84%

計算過程

  1. 42 ÷ 50 = 0.84
  2. セルの書式をパーセントにすると、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のパーセント計算式の一覧

Excelでのパーセントのしくみ
目的公式例
合計に占める割合=A2/B250のうち42は84%
増加率または減少率=(B2-A2)/A21,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*B2120の35%は42
合計を求める=A2/B242は120の35%
二つのパーセントの差=B2-A24.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:合計に占める割合

条件

生徒が50問中42問に正解しました。

答え

A2が42、B2が50のとき、=A2/B2 は0.84を返し、パーセンテージの表示形式で84%と表示されます。

例題2:増加率

条件

月の売上が1,800から2,142に上がりました。
  1. 手順 1

    変化量は342で、342を1,800で割ると0.19です。

答え

=(B2-A2)/A2 は19%と表示します。

例題3:減少率

条件

在庫数が640から512に減りました。
  1. 手順 1

    変化量は−128で、−128を640で割ると−0.2です。

答え

同じ数式で−20%と表示されます。

例題4:差の割合

条件

二つの見積もりが80と120でした。

答え

差は40、平均は100なので、=ABS(A2-B2)/AVERAGE(A2,B2) は、セルの順序に関係なく40%と表示します。

例題5:負の開始値

条件

四半期の損失が−50から−25に縮みました。
  1. 手順 1

    単純な数式 =(B2-A2)/A2 は−50%を返し、悪化と読めてしまいます。

答え

=(B2-A2)/ABS(A2) は25を50で割って+50%を返し、数字が示す改善と一致します。

五つの例題を一枚のシートで

Excelのパーセント計算式の例題
例A2B2C2の数式C2の表示
1 合計に占める割合4250=A2/B284%
2 増加18002142=(B2-A2)/A219%
3 減少640512=(B2-A2)/A2−20%
4 差80120=ABS(A2-B2)/AVERAGE(A2,B2)40%
5 負の開始値−50−25=(B2-A2)/ABS(A2)50%

空白のシートの2行目に各行を入力し、C列にパーセンテージの表示形式を適用します。

Excelのパーセント計算式のコード

ゼロの判定と、絶対値の開始値を使う、安全な変化の数式です。

Excel
=IF(A2=0,"n/a",(B2-A2)/ABS(A2))

符号が反転する場合に「n/m」を返す、同じ規則です。

Excel
=IF(A2=0,"n/a",IF(SIGN(A2)<>SIGN(B2),"n/m",(B2-A2)/ABS(A2)))

Google Sheetsで、一つのセルから列を埋め、空白行を飛ばす方法です。

Excel
=ARRAYFORMULA(IF(A2:A="","",IF(A2:A=0,"n/a",(B2:B-A2:A)/ABS(A2:A))))

表計算の外で同じ計算をするには、pandasを使います。

Python
import pandas as pd​​def 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のパーセント計算でよくある間違い

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で数に割合を足すにはどうしますか?

一に割合を足した値を掛けます。割合がB2にあるとき、=A2*(1+B2) です。80に15%の割合なら92が返ります。引くには =A2*(1-B2) を使います。

Excelでパーセントを求めるのに100を掛けますか?

いいえ。セルがパーセンテージの表示形式になっていれば、Excelは0.19を保存して19%と表示します。さらに100を掛けると、1900%と表示されます。