この記事で分かること
- 散布図の軸の範囲を固定して、毎回同じ見た目で比較できるようにする方法
- 目盛の間隔と軸の交点を指定して、分布の位置を読み取りやすくする方法
- どの点がどのデータなのかを、データラベルに表示する方法
散布図は作った直後の状態だと、点が一か所に固まって見える・毎回スケールが変わって前回と比較できないという状態になりがちです。設定を数か所変えるだけで読み取りやすくなります。
どんな場面で使うか
- 測定値のばらつきを月ごと・ロットごとに並べて比較したい
- 「どの点が外れているのか」を資料上で名指ししたい
- 前回作ったグラフと同じ見た目で今回のデータを出したい
基本説明
サンプルファイル(記事末尾)の「測定データ」シートを使います。A列=測定No、B列=寸法X、C列=寸法Y で、データは2行目から11行目までの10件です。
| A | B | C | |
|---|---|---|---|
| 1 | 測定No | 寸法X | 寸法Y |
| 2 | 1 | 30.12 | 29.95 |
| 3 | 2 | 30.08 | 30.11 |
| 4 | 3 | 29.94 | 30.02 |
| 5 | 4 | 30.21 | 29.88 |
| 6 | 5 | 30.05 | 30.15 |
| 7 | 6 | 29.88 | 29.97 |
| 8 | 7 | 30.17 | 30.06 |
| 9 | 8 | 30.02 | 29.91 |
| 10 | 9 | 29.97 | 30.09 |
| 11 | 10 | 30.11 | 30.00 |
このデータは「同じ部品の2か所の寸法を測った」という想定です。寸法Xも寸法Yも狙いは同じ 30.00 で、実測値は 29.88〜30.21 の範囲に収まっています。
この散布図は「XとYに相関があるか」を見るためのものではありません。 1つの点が1つの部品を表し、その部品のXとYが狙い値からどちらへずれているかを、1枚で同時に見るために使います。B2:C11を選択 →「挿入」タブ →「散布図」→「散布図」(先頭のマーカーだけのサブタイプ)で散布図が作れます。
ここで問題になるのが、Excelが軸の範囲を自動で決めることです。自動のままだと次の2つが起きます。
- Excelの自動軸は、データが区切りをまたいだときに範囲が変わります。変わったこと自体に気づきにくいまま、先月は29.5〜30.5、今月は29.85〜30.25のように基準がずれ、並べて比較すると誤解を生みます
- 目盛の間隔も自動で決まるため、グラフごとに位置がそろわず読み取りにくくなります
軸を手で固定してしまえば、どちらも解決します。以下の設定値は上のデータに合わせたものです。
| 項目 | 設定値 | 理由 |
|---|---|---|
| 軸の最小値 | 29.8 | データの最小 29.88 の少し外側 |
| 軸の最大値 | 30.3 | データの最大 30.21 の少し外側 |
| 目盛の間隔 | 0.1 | きりのよい間隔にそろえる |
| 軸の交点 | 30.0 | 狙い値。ここを中心に上下左右を見る |
縦軸・横軸の両方に同じ値を設定します。歪まずに見るには、この軸の範囲をそろえることに加えて、グラフの縦横比もそろえる必要があります(後述の「見た目を整える」を参照)。
手順
軸の範囲と目盛を固定する
- グラフの縦軸の数字の上で右クリックし、「軸の書式設定」を選ぶ
- 右側に作業ウィンドウが開くので、棒グラフのアイコン(軸のオプション)を選ぶ
- 「境界値」の「最小値」に
29.8、「最大値」に30.3を入力する - 「単位」の「主」に
0.1を入力する - 同じ作業を横軸に対しても行う

軸の書式設定の作業ウィンドウ
入力欄に値を入れると、右側に「自動」から「リセット」に変わるボタンが表示されます。これが出ていれば手動設定が効いています。
軸の交点を狙い値に置く
同じ「軸の書式設定」の下のほうにある「横軸との交点」で「軸の値」を選び、30 と入力します。横軸側では「縦軸との交点」に同じ値を入れます。
これで軸の線が30.00の位置で交差し、狙い値に対してどちらにずれているかが一目で分かる形になります。ただしこのままだと目盛の数字も中央へ移動してしまうので、同じ「軸の書式設定」の「ラベル」→「ラベルの位置」で「下端/左端」を選び、数字を元の外周の位置へ戻します。両軸とも同じ操作をします。
どの点がどのデータかを表示する
- グラフ上の点(マーカー)をクリックして系列全体を選択する
- 右クリック →「データラベルの追加」
- 追加されたラベルの上で右クリック →「データラベルの書式設定」
- 「ラベルオプション」で「セルの値」にチェックを入れる
- 表示されたダイアログで
A2:A11(測定No)を選び、OK - 「Y値」のチェックを外す
これで各点の横に測定Noが表示されます。「セルの値」はExcel 2013以降で使えます。それより前のバージョンでは、点を1つずつ選んで手作業でラベルを入力することになります。
見た目を整える
- 点が大きすぎて重なる:マーカーを右クリック →「データ系列の書式設定」→「塗りつぶしと線」→「マーカー」→「マーカーのオプション」で「組み込み」を選ぶ(挿入直後は「自動」になっており、この状態では種類・サイズとも入力できません)→ サイズを
5程度にする - 枠線が濃くて点が見えにくい:同じ画面でマーカーの枠線を細くする
- 縦横比をそろえる:グラフエリアを選択し、「書式」タブの図形の高さ・幅に同じ値(例:
8cm)を入れる。それでも縦軸・横軸の目盛の間隔が同じ長さに見えないときは、目盛の数字や軸ラベルの分だけ内側のプロットエリアがずれているのが原因です。気になる場合はプロットエリアの枠を選んでドラッグし、縦横を追加でそろえます - 軸ラベルを入れる:グラフを選択 → 右上の「+」→「軸ラベル」にチェック。表示された枠をクリックして、それぞれ
寸法X・寸法Yと入力する。どちらの軸が何なのかは、作った本人以外には分かりません。 資料として渡すなら必須です - 交点の軸線を目立たせる:区画の境目をはっきりさせたい場合は、軸を選んで右クリック →「軸の書式設定」→「塗りつぶしと線」タブ →「線」で、幅を上げて色を濃いグレーなどにしておくと、4区画の境界が分かりやすくなります(完成図は幅と色の両方を調整しています)

軸と目盛を調整したあとの散布図
できあがったグラフの読み方
軸の交点を狙い値に置いた効果は、見た目だけではありません。グラフが4つの区画に分かれ、区画ごとに意味を持つようになります。
| 点の位置 | 意味 |
|---|---|
| 右上 | XもYも狙いより大きい |
| 左下 | XもYも狙いより小さい |
| 右下 | Xは大きいがYは小さい |
| 左上 | Xは小さいがYは大きい |
サンプルのデータをこの目で見ると、縦の線より右側に7点、左側に3点が集まっています。一方で横の線は上に5点・下に4点(測定No.10 はちょうど30.00で線上)とほぼ半々です。つまり 「寸法Xだけが狙いより大きめに出ている」 と読めます。ただし10点だけの傾向です。工程を絞り込む前に、点数を増やすか期間を分けて同じ偏りが続くかを確認してください。
ここまで分かると、次にやることが決まります。全体を調整するのではなく、まずXに関わる工程を疑って見に行けばよい、という当たりが付けられます。軸を自動のままにしていると点の位置は相対的にしか見えないので、この読み取りはできません。
サンプルコードまたは例
同じ設定を複数のグラフに繰り返し適用する場合は、マクロにしておくと早く済みます。次のコードは「測定データ」シート上のすべての散布図に、上と同じ軸設定を適用します(散布図以外のグラフは対象外です。理由は後述)。シート上に散布図が1つも無い状態で実行しても、グラフの設定は何も変わりません(「0 個のグラフに設定しました。」と表示されます)。先に手順のとおり散布図を作ってから実行してください。
Option Explicit
Sub 散布図の軸をそろえる()
Dim ws As Worksheet
Dim ch As ChartObject
Dim isScatter As Boolean
Dim n As Long
Set ws = ThisWorkbook.Worksheets("測定データ")
n = 0
For Each ch In ws.ChartObjects
' 散布図以外は対象外にする。棒グラフ・折れ線グラフは項目軸に
' MinimumScale などを設定できずエラーになり、円グラフはそもそも
' Axes を取得できないため。
Select Case ch.Chart.ChartType
Case xlXYScatter, xlXYScatterLines, xlXYScatterLinesNoMarkers, _
xlXYScatterSmooth, xlXYScatterSmoothNoMarkers
isScatter = True
Case Else
isScatter = False
End Select
If isScatter Then
' 縦軸(Y)
With ch.Chart.Axes(xlValue)
.MinimumScale = 29.8
.MaximumScale = 30.3
.MajorUnit = 0.1
.Crosses = xlCustom
.CrossesAt = 30
' 交点を動かすと目盛の数字も中央へ移るので、外周へ戻す
.TickLabelPosition = xlTickLabelPositionLow
End With
' 横軸(X)
With ch.Chart.Axes(xlCategory)
.MinimumScale = 29.8
.MaximumScale = 30.3
.MajorUnit = 0.1
.Crosses = xlCustom
.CrossesAt = 30
.TickLabelPosition = xlTickLabelPositionLow
End With
n = n + 1
End If
Next ch
MsgBox n & " 個のグラフに設定しました。", vbInformation
End Sub
TickLabelPosition を入れているのは、交点を中央へ動かすと目盛の数字も一緒に中央へ来てしまうためです。これを省くと、下の「よくあるエラー」に挙げた読みにくい状態が毎回できあがります。
散布図では、横軸も「値の軸」として扱われますが、VBAからは xlCategory で取得します。棒グラフや折れ線グラフの横軸は項目軸なので意味が違い、MinimumScale などを設定できません(横軸が日付軸になっている折れ線グラフは例外で、日付の範囲と単位を設定できます)。円グラフには軸そのものが無いため、Axes を呼び出した時点でエラーになります。
よくあるエラー
- 軸の最小値を入れても反映されない:折れ線グラフを散布図と間違えている可能性があります。折れ線の横軸は項目軸なので、数値としての最小値・最大値を指定できません。グラフの種類を「散布図」に変更してください。
- データを追加したら点が枠の外に消えた:軸を手動で固定した副作用です。範囲外の値は表示されません。定期的に更新するグラフでは、設定した範囲を超える値が出ていないかを確認する運用が必要です。上のマクロは29.8/30.3を書き込み直すだけなので、範囲を広げる必要があるときはマクロ側のこの2つの数値を書き換えてから流し直します。
- データラベルに「セルの値」が無い:Excel 2010以前です。バージョンを確認してください。
- 点が縦長・横長に見える:原因は2つ考えられます。①縦軸・横軸の範囲が揃っていない(「軸の範囲と目盛を固定する」の手順を両軸ともやったか確認)②グラフエリアの縦横比が1対1になっていない(「見た目を整える」の「縦横比をそろえる」で直す)。2つの条件の関係は【Excel】散布図に円を表示させるで詳しく説明しています。
- 軸の交点を変えたら目盛の数字が真ん中に来て読みにくい:「軸の交点を狙い値に置く」の手順を飛ばした場合はここで直せます。「軸の書式設定」の「ラベル」→「ラベルの位置」を「下端/左端」に変えると、数字が外周に移動します。
まとめ
散布図は、軸を自動のままにしていると「今回のデータに合わせたグラフ」にしかなりません。最小値・最大値・目盛の間隔を手で固定し、軸の交点を狙い値に置くだけで、前回・前月と並べて比較できるグラフになります。どの点がどのデータかはデータラベルの「セルの値」で表示できるので、資料上で外れ値を名指しできるようになります。
さらに、軸の交点を狙い値に置くとグラフが4つの区画に分かれ、「どちらの寸法がどちらへずれているか」を区画の偏りとして読めるようになります。見た目を整えるだけの設定ではありません。
関連記事
- 【Excel】 散布図に円を表示させる — 分布に合格ラインの円を重ねる方法
- 【Excel】 表示形式を最適化して見やすいファイルを作る — 表側の見やすさを整える
- 【Excel】条件付き書式で行ごとに色を付ける — 行全体を一括で塗りつぶす方法と$の使い方 — 外れた行を表のほうでも目立たせる
サンプルファイル
記事中で使用しているサンプルデータはこちらからダウンロードできます。
