変動係数(CV)は、標準偏差を平均で割った値です。平均に対するばらつきを表せますが、どのデータでも比較に使えるわけではありません。[R6]
この記事では合成データを使い、gとmgの単位換算、平均を0へ近づける変換、℃とKの温度換算をExcelで比較します。「CVを計算できた」ことと「そのCVで比較してよい」ことを分けて確認します。
ExcelでCVを計算する
ここでは標本SDを用い、CV=s÷平均と定義します。B2:B4に数値がある場合の式は次のとおりです。
=STDEV.S(B2:B4)/AVERAGE(B2:B4)
比率0.2を20%と表示したいときは、セルの表示形式をパーセントにします。あるいは、式を100倍して数値20を出し、列名を「CV(%の数値)」とします。両方を同時に行うと二重に100倍した表示になるため、混在させないようにします。
今回の表は標準表示のまま、比率と100倍した数値を別の行にしました。nはCOUNT、平均はAVERAGE、標本SDはSTDEV.Sで計算しました。[R1・R2]
検証環境とデータの条件
検証日は2026年10月11日。Windows上のデスクトップ版Excel 2024 MSO、バージョン2609、ビルド16.0.20430.20032、64ビットです。質量と温度はそれぞれ説明用の合成データです。実物の測定結果ではありません。
同じ値を別の単位で表した列は新しい標本ではなく、同じ3観測の別表現です。2列を合わせてn=6とは数えません。
gからmgへ換算するとCVは変わらない
A1:C4を次のように配置します。
| 観測番号 | B列の質量g | C列の同じ質量mg |
|---|---|---|
| 1 | 8 | =B2*1000 |
| 2 | 10 | =B3*1000 |
| 3 | 12 | =B4*1000 |
5行目を見出し、6行目をn、7行目を平均、8行目をSD、9行目をCV比率、10行目をCVの100倍値としました。
B6 =COUNT(B2:B4)
B7 =AVERAGE(B2:B4)
B8 =STDEV.S(B2:B4)
B9 =B8/B7
B10 =B9*100
C列も同じ構成で集計した実機結果です。
| 項目 | g | mg |
|---|---|---|
| n | 3 | 3 |
| 平均 | 10 | 10000 |
| SD | 2 | 2000 |
| CV比率 | 0.2 | 0.2 |
| CVを%で表した値 | 20% | 20% |
gのデータは平均からの差が−2、0、2なので、二乗和は8、標本SDは√(8÷2)=2です。mgでは平均もSDも1,000倍になり、2000÷10000=0.2です。Excelとは別の計算でも一致しました。
自作の式の整理では、正の定数aを全データに掛けると、CVは「a×SD÷(a×平均)」となりaが相殺されます。今回の単位換算はこの関係を確かめたものです。
平均を0へ近づけるとSD一定でもCVが大きくなる
次は、元の8、10、12から同じ定数を引きました。この比較の値は計算挙動を示すためのもので、負の質量を測ったという設定ではありません。
E列を観測番号、F列を元データ、G列を9を引いた値、H列を9.875を引いた値、I列を10を引いた値としました。
F2 =B2
G2 =B2-9
H2 =B2-9.875
I2 =B2-10
各式を4行目までコピーし、6〜10行目で先ほどと同じ順に集計します。例えばG7はAVERAGE(G2:G4)、G8はSTDEV.S(G2:G4)、G9はG8/G7です。
| 条件 | 3個の値 | 平均 | SD | CV比率 | CVを%で表した値 |
|---|---|---|---|---|---|
| 元データ | 8, 10, 12 | 10 | 2 | 0.2 | 20% |
| 9を引く | −1, 1, 3 | 1 | 2 | 2 | 200% |
| 9.875を引く | −1.875, 0.125, 2.125 | 0.125 | 2 | 16 | 1600% |
| 10を引く | −2, 0, 2 | 0 | 2 | #DIV/0! | #DIV/0! |
いずれもn=3です。平均との差はすべて−2、0、2のため、SDは2のままです。一方、CVの分母は10、1、0.125、0へ変わりました。
今回のCV増加は、SDが増えたためではありません。平均が小さくなったためです。平均0では分母が0となるためCVは定義できず、Excelでは#DIV/0!になりました。エラーを0%に置換すると、ばらつきがないように誤読されるので、この比較ではそのまま記録しています。
これは平均付近の挙動を示す算術実験です。負値を含む差分データにCVの品質基準を適用するための例ではありません。
℃とKでは計算上のCVが変わる
温度の8、10、12℃を、Kへ換算しました。Kの数値は℃の数値に273.15を加えます。[R7]
K列を観測番号、L2:L4を8、10、12とし、M2に次の式を入力してM4までコピーしました。
=L2+273.15
同様にCOUNT、AVERAGE、STDEV.S、SD÷平均で計算した結果です。
| 項目 | ℃ | K |
|---|---|---|
| 元データ | 8, 10, 12 | 281.15, 283.15, 285.15 |
| n | 3 | 3 |
| 平均 | 10 | 283.15 |
| SD | 2 | 2 |
| CV比率 | 0.2 | 約0.007063 |
| CVを%で表した値 | 20% | 約0.706339% |
独立検算は2÷283.15×100=約0.706339%です。同じ温度データの別表現であり、Kへ換算したことで測定のばらつきが改善したわけではありません。
CVを比較に使うには、0に意味がある比率尺度かを確認します。℃は間隔尺度、Kは比率尺度です。℃で割り算ができても、そのCVを相対的なばらつきの比較に使うのは適切ではありません。[R6] KのCVも、熱力学温度の平均に対する比率が実務上知りたい量なのかを考える必要があります。温度の安定性を表したいだけなら、今回のようにSDを温度差の単位で示す方が目的に合う場合があります。
CVで比較する前に確認すること
| 確認点 | 今回の検証からの判断 |
|---|---|
| 単位の比例変換か | g→mgでは平均とSDが同じ倍率になりCVは不変 |
| 基準点をずらしていないか | 定数を足し引きすると、SD一定でもCVが変わる |
| 平均が0に近くないか | 分母への依存が強い。平均とSDも併記する |
| 平均が0か | CVは定義できない。0%とはしない |
| 比率尺度か | ℃のCVを比較指標として勧めない |
| 比較目的が同じか | 無次元というだけで、異なる性質の測定を同じ品質尺度にしない |
「CVが何%以下なら良い」という普遍的な閾値は、この記事では設けません。今回のn=3は仕組みを確かめるための設定で、測定法の合否や許容精度を決める根拠にはなりません。
平均が負になる場合も、符号付きCVを機械的に大小比較しません。平均の絶対値を分母に使う定義へ変更する場合は、その定義と目的を明記する必要があり、変更だけで尺度や基準点の問題が解消するわけではありません。
CVだけで結論を出さず平均とSDを残す
今回、単位の比例変換ではCVが変わらず、基準点の移動ではCVが変わりました。比較表に元データ、n、平均、SDを残すことで、CVが変わった理由を追えます。Excelの結果を読む際も、値の大小を評価する前に、分母と尺度を確認してください。
出典
- R1 Microsoft STDEV.S function — 標本SD、n−1による計算。今回引用する範囲は数値と空白のデータ。エラー値を含む範囲の仕様は本文の対象外。
- R2 Microsoft COUNT function — 参照範囲の数値を数え、空白を数えない仕様。
- R6 NIST Dataplot Coefficient of Variation — s/平均、比率尺度、平均0付近、℃とKの尺度の違い。本文では小標本補正式や対数正規CVへ範囲を広げない。
- R7 NIST Guide to the SI Appendix B.8 — ℃の数値からKの数値への変換、273.15加算。

コメント