Excelで割合を計算したいときはないでしょうか。
けど、そんな中で悩むことは、
・絶対参照($B$10)の使い方があいまいで、コピーすると数字がズレる
・計算結果が0.19のような小数のままで、%で表示できない
・全体の中での割合なのか、目標への進捗なのか、使い分けがわからない
ですよね。
今回はそんなお悩みを解決する
についてまとめます!
完成イメージ
割合とひとことで言っても、何を100%とするかで計算式が変わります。
今回は
・構成比(=B2/$B$10)/前年比(=B2/D2-1)/達成率(=B2/F2)の3つの割合
をゴールにします。
それぞれの違いと絶対参照の使い方を、画像つきで再現できるようになります。

上の画像が完成形です。構成比・前年比・達成率がすべて%で表示され、合計行には全体の割合が入ります。
なお、%表示の書式設定や、その場で計算するコツ、VBAでの一括計算、うまくいかないときの対処法(トラブルシュート)もあわせてご紹介します。
もくじ
STEP1. 元データを用意する
まずは割合を計算したい売上表を用意します。
今回は8店舗の売上データを使います。
A列が店舗、B列が今期売上、C列が構成比、D列が前期売上、E列が前年比、F列が目標、G列が達成率です。
10行目は合計行で、B10に =SUM(B2:B9) を入れてあります。
この合計を「全体」として、ここから割合を出していきましょう。

下の表をコピーして、Excelのシートに貼り付けるとそのまま試せます。
| 店舗 | 今期売上 | 構成比 | 前期売上 | 前年比 | 目標 | 達成率 |
|---|---|---|---|---|---|---|
| 東京本店 | 4850000 | 4620000 | 5000000 | |||
| 新宿店 | 3240000 | 3510000 | 3000000 | |||
| 渋谷店 | 2980000 | 2760000 | 2800000 | |||
| 横浜店 | 2150000 | 2320000 | 2500000 | |||
| 名古屋店 | 3560000 | 3180000 | 3400000 | |||
| 大阪店 | 3980000 | 4250000 | 4200000 | |||
| 神戸店 | 1860000 | 2040000 | 2000000 | |||
| 福岡店 | 2430000 | 2250000 | 2200000 | |||
| 合計 |
※ 数式で求める列は空にしています。すでに値が入っている列はそのまま残して試せます。
STEP2. 構成比を出す(=B2/$B$10)
構成比は、全体(合計)の中での割合です。
C2セルに次の数式を入力します。
=B2/$B$10
「今期売上 ÷ 合計売上」で、その店舗が全体の何割かを出しています。
ポイントは $B$10 の 絶対参照です。
$ を付けておくと、下にコピーしても常に合計セルB10を指したままになります。
実際の入力画面がこちらです。

続いてC2の数式を、フィルハンドルでC9まで下にコピーします。
各行の構成比が一度に出ます。
合計のC10には =SUM(C2:C9) を入れておきましょう。
合計が 1.000(=100%)になれば、構成比は完成です。
この時点では 0.194 のような小数で表示されています。
%にする方法はSTEP5で解説します。

STEP3. 前年比を出す(=B2/D2-1)
前年比は、前年と比べて増えたか減ったかの割合です。
E2セルに次の数式を入力します。
=B2/D2-1
「今期売上 ÷ 前期売上 − 1」で、前年からの増減率を出します。
ここで間違えやすいのが、=B2/D2 との違いです。
=B2/D2 は「前期を100%としたときの今期の比率」なので、前期と同じなら 1.000(100%)になります。
増減率として見たいときは −1 を引いて、前期と同じなら 0% になるようにそろえます。
「比率」か「増減率」かで使い分けましょう。
実際の入力画面がこちらです。

E2の数式をE9までコピーします。
合計のE10には =B10/D10-1 を入れて、全店の前年比も出しておきましょう。
プラスなら前年より増加、マイナスなら減少です。
全体では 0.005(+0.5%)と、ほぼ前年並みだとわかります。

STEP4. 達成率を出す(=B2/F2)
達成率は、目標に対してどこまで進んだかの割合です。
G2セルに次の数式を入力します。
=B2/F2
「今期売上 ÷ 目標」で、目標を100%としたときの進捗が出ます。
100%を超えていれば目標達成、下回っていれば未達です。
構成比と形は似ていますが、分母が目標のF列になっている点が違います。
「何を100%とするか」を意識すると、式を間違えにくくなりますよ。
実際の入力画面がこちらです。

G2の数式をG9までコピーします。
合計のG10には =B10/F10 を入れて、全店の達成率も出しておきましょう。
新宿店(1.080)や福岡店(1.105)は100%を超えており、達成していることがわかります。
逆に横浜店(0.860)は目標まで届いていない、と数字で判断できます。

STEP5. %表示にする(書式設定と桁数)
ここまでの結果は 0.194 のような小数で表示されています。
これを%表示にするには、セルの表示形式を変えます。
%にしたい範囲(C2:C10、E2:E10、G2:G10)を選び、ホーム タブ → %ボタンをクリックします。
これだけで小数が%に切り替わります。
小数点以下の桁数を変えたいときは、範囲を選んでセルの書式設定 → 表示形式 → パーセンテージを選び、「小数点以下の桁数」をお好みの数に調整します。
今回は「0.0%」にして、小数第1位まで表示してみましょう。
整数で見たいときは桁数を「0」、細かく見たいときは「2」にすると読みやすくなります。

STEP6. その場で計算したいとき
表を作るほどでもなく、ちょっとだけ割合を確かめたいときは、セルに数式を直接打ち込むのが手軽です。
空いているセルに、次のように割り算をそのまま入力します。
=120/480
すると 25.0% と表示され、その場で割合が確認できます。
「120は480の何%か」を一瞬で出したいときに便利ですね。
分母を固定してコピーしたいときは、STEP2と同じように $ を付けて絶対参照にします。
電卓を出すより速いので、ちょっとした確認にはもってこいです。

STEP7. VBAで一括計算する
毎回同じ表で割合を出すなら、VBAで一括計算するのがいちばんラクです。
Alt+F11でVBAエディターを開き、標準モジュールに次のコードを貼り付けます。
Sub WariaiKeisan()
Dim r As Long
For r = 2 To 9
Cells(r, 3).Formula = "=B" & r & "/$B$10"
Cells(r, 5).Formula = "=B" & r & "/D" & r & "-1"
Cells(r, 7).Formula = "=B" & r & "/F" & r
Next r
Cells(10, 3).Formula = "=SUM(C2:C9)"
Cells(10, 5).Formula = "=B10/D10-1"
Cells(10, 7).Formula = "=B10/F10"
Range("C2:C10,E2:E10,G2:G10").NumberFormat = "0.0%"
End Sub
実行すると、構成比・前年比・達成率の数式がC列・E列・G列に一瞬で入り、%表示まで整います。
ボタンに登録しておけば、クリック1つで計算できるようになります。
列番号はA列が1、B列が2…と数えればOK。
毎月の集計など、決まった作業はVBAに任せてしまいましょう。カンタンですね。

割合の種類と使い分け
ひとことで「割合」と言っても、何を100%と考えるかで式が変わります。
3つの割合と、よく似た「前年同月比」を表で整理しました。
迷ったときは、この表に戻って「何を100%とするか」を確認してください。
| 種類 | 何を100%とするか | 数式の例 | 読み方 |
|---|---|---|---|
| 構成比 | 全体(合計) | =B2/$B$10 | 全体の中でのシェア。合計が100%になる |
| 前年比 | 前年の同じ期間 | =B2/D2-1 | プラスで増加、マイナスで減少(0%基準) |
| 前年同月比 | 去年の同じ月 | =C2/$C$14-1 | 季節変動をならして比べられる |
| 達成率 | 目標 | =B2/F2 | 100%以上で目標達成 |
「全体の中の割合」なら構成比(=B2/$B$10)、
「前年と比べたい」なら前年比(=B2/D2-1)、
「目標への進捗を見たい」なら達成率(=B2/F2)です。
迷ったら、先に「何を100%とするか」を決めると式が自然に決まりますよ。
うまくいかないときの対処法(トラブルシュート)
実際に試すと、思ったようにいかないこともあるかもしれません。
よくあるつまずきと対処法をまとめました。
| 症状 | 原因 | 対処 |
|---|---|---|
| 構成比の合計が 100% にならない(99.9%など) | 小数を四捨五入して表示しているため、端数が出る | 表示上だけの問題です。=ROUND(B2/$B$10,3) で丸めるか、桁数を増やして確認します |
| コピーしたら式の参照がズレる | 合計セルを絶対参照($B$10)にしていない | =B2/$B$10 のように $ を付けます(F4キーで切り替えられます) |
| %にならず 0.194 のまま | セルの表示形式が「標準」になっている | セルを選びホーム → %ボタン、またはセルの書式設定でパーセンテージを選びます |
| #DIV/0! エラーが出る | 分母(前期売上・目標)が未入力や0になっている | 分母を確認します/=IFERROR(B2/D2-1,””) でエラーを非表示にできます |
関数の説明
今回使った3つの関数の概要です。
割合の計算とセットで覚えておくと便利です。
SUM関数(サム)
| 書式 | =SUM(数値1, [数値2], …) |
|---|---|
| できること | 指定した範囲や数値の合計を求めます。構成比の分母(全体の合計)を作るときに使います。 |
| 戻り値 | 合計値(数値) |
| こんなときに | 構成比を出す前に、まず全体の合計を出しておきたいとき。 |
| 注意 | 合計セルは $B$10 のように絶対参照で固定してから割り算に使いましょう。 |
=SUM(B2:B9)
ROUND関数(ラウンド)
| 書式 | =ROUND(数値, 桁数) |
|---|---|
| できること | 数値を指定した桁数で四捨五入します。構成比の端数を整えたいときに使います。 |
| 戻り値 | 四捨五入した数値 |
| こんなときに | 合計が100%にそろわないとき、桁数を決めて丸めたいとき。 |
| 注意 | 丸めた値を合計しても、必ずしも100%にはなりません。表示用と割り切って使いましょう。 |
=ROUND(B2/$B$10,3)
IFERROR関数(イフエラー)
| 書式 | =IFERROR(値, エラーのときの値) |
|---|---|
| できること | 数式がエラーになったときに、代わりに表示する値を指定できます。 |
| 戻り値 | エラーでなければ「値」、エラーなら「エラーのときの値」 |
| こんなときに | 前期売上や目標が空欄の行で #DIV/0! を消したいとき。 |
| 注意 | エラーを隠すだけなので、原因(分母が0)は別途確認しましょう。 |
=IFERROR(B2/D2-1,"")
完成
構成比・前年比・達成率が、すべて%で表示されました。
思ったとおりに動きましたか?
合計行を見れば、全体の構成比(100%)や全社の前年比・達成率もひと目でわかります。
%にしておくと、店舗どうしの比較もしやすくなりますね。

さいごに
いかがでしょうか。
今回は、
についてまとめました。
まずは今回のサンプル表で、ぜひ一度試してみてください。
「何を100%とするか」を意識すると、割合の式で迷わなくなりますよ。
また、他にも便利なExcelの時短テクニックがありますので、よろしければご参照頂ければと思います。
ぜひ試してみてください。








コメントを残す