Excelで統計処理や品質管理のデータを扱っていると、「誤差関数の積分値をサッと求めたい」という場面がありますよね。手計算では面倒な誤差関数の積分も、ExcelのERF.PRECISE関数を使えば上限を指定するだけで一発で計算できますよ。
この記事では、ERF.PRECISE関数の書き方から実際の使い方までまとめて解説します。正規分布との関係、品質管理での実務応用、エラー対処法、ERF関数との使い分けも一緒に押さえていきましょう。
ExcelのERF.PRECISE関数とは?
ERF.PRECISE関数は、0から指定した上限値までの誤差関数の積分値を返す関数です。読み方は「エラー・ファンクション・プリサイス」です。名前の「ERF」は error function(誤差関数)の略で、「PRECISE」は「正確な」という意味です。
誤差関数(error function)とは、統計学や確率論で使われる特殊関数のひとつです。正規分布の累積分布関数と深い関係があり、品質管理や信号処理などの分野で活用されています。
数学的には、ERF.PRECISE(x)は次の式で定義されます。
ERF.PRECISE(x) = (2 / sqrt(pi)) * 0からxまでの e^(-t^2) の積分
数式だけ見るとむずかしそうですが、Excelでは関数に値を入れるだけで計算してくれるので安心してください。
ERF.PRECISE関数の戻り値は -1から1の範囲 になります。ERF.PRECISE(0) = 0で、xが大きくなるにつれて1に近づいていきますよ。また、負の値を指定すると負の結果を返します(奇関数の性質です)。
対応バージョンは Excel 2010 以降、Microsoft 365 です。ERF.PRECISE関数はISO/IEC規格への準拠のために追加された関数で、Excel 2010から使えるようになりました。
NOTE
ERF.PRECISE関数とERF関数は、引数を1つだけ指定したときの結果が同じになります。後発のERF.PRECISEは「下限0固定」を関数名で明示することで、計算意図を読み取りやすくする目的で追加されました。
ERF.PRECISE関数の書き方(構文と引数)
基本構文
=ERF.PRECISE(x)
引数はxの1つだけです。ERF関数のように下限と上限を別々に指定する構文とは異なり、とてもシンプルですよ。
引数の説明
| 引数 | 必須/省略可 | 説明 |
|---|---|---|
| x | 必須 | 誤差関数を積分するときの上限値を指定します。下限は自動的に0になります |
ポイントは、下限が常に0に固定されていることです。「0からxまでの誤差関数の積分値」を返すので、引数に指定した値がそのまま上限になります。
- 正の数を指定すると、0から正の方向への積分値を返します
- 負の数を指定すると、負の結果を返します(例: ERF.PRECISE(-1) = -0.8427)
- 0を指定すると、結果は0になります
ERF.PRECISE関数の基本的な使い方
実際にERF.PRECISE関数を使ってみましょう。
数値を直接指定する場合
セルに次のように入力します。
=ERF.PRECISE(1)
この場合、0から1までの誤差関数の積分値が返されます。結果は 0.8427 です。
もう少し小さい値も試してみましょう。
=ERF.PRECISE(0.5)
結果は 0.5205 になります。0から0.5までの積分値ですね。
負の値を入れた場合も確認しておきましょう。
=ERF.PRECISE(-1)
結果は -0.8427 です。ERF.PRECISE(1) の符号が反転した値になっていますよね。これは誤差関数が奇関数(原点に対して対称)であるためです。
セル参照を使う場合
数値を直接入力する代わりに、セル参照も使えます。
=ERF.PRECISE(A1)
セルA1に「0.745」が入っていれば、0から0.745までの積分値を計算してくれます。データが多いときはセル参照のほうが便利ですよ。
戻り値リファレンス(早見表)
xの値に対するERF.PRECISE(x)の代表値をまとめておきます。検算や概算に使ってください。
| x | ERF.PRECISE(x) | 補足 |
|---|---|---|
| 0 | 0 | 積分区間がゼロ幅 |
| 0.5 | 0.5205 | 約半分まで進む |
| 1 | 0.8427 | およそ84% |
| 1.5 | 0.9661 | およそ97% |
| 2 | 0.9953 | ほぼ1に近づく |
| 3 | 0.99998 | 実質1 |
| -1 | -0.8427 | 奇関数のため符号反転 |
x=3を超えるとほぼ1に張り付くため、それより大きい範囲では結果はほとんど変化しません。
ERF.PRECISE関数の実践的な使い方・応用例
正規分布の確率を求める(68-95-99.7ルール)
ERF.PRECISE関数の最大の強みは、正規分布の確率計算に直結する点です。平均μ・標準偏差σの正規分布において、観測値が μ±k×σ の範囲に収まる確率は次の式で求められます。
P(μ-kσ ≤ X ≤ μ+kσ) = ERF.PRECISE(k/SQRT(2))
実際にExcelで計算してみましょう。
| 範囲 | 数式 | 結果 | 意味 |
|---|---|---|---|
| ±1σ | =ERF.PRECISE(1/SQRT(2)) | 0.6827 | 約68.27%が収まる |
| ±2σ | =ERF.PRECISE(2/SQRT(2)) | 0.9545 | 約95.45%が収まる |
| ±3σ | =ERF.PRECISE(3/SQRT(2)) | 0.9973 | 約99.73%が収まる |
これは統計学で「68-95-99.7ルール(経験則)」として知られる数値そのものです。SQRT関数と組み合わせるだけで、教科書の正規分布表がExcelで再現できますよ。
品質管理(工程能力評価)での活用例
製造業の品質管理では、製品寸法が規格内に収まる確率の計算でERF.PRECISEが活躍します。
たとえば、平均寸法 50.0mm、標準偏差 0.1mm の工程で、規格 49.8〜50.2mm(= 平均±2σ)に製品が収まる確率を求めるとします。
=ERF.PRECISE(2/SQRT(2))
結果は 0.9545 です。約95.45%の製品が規格内に収まる、という見積もりになります。これに不適合率(1 – 0.9545 = 0.0455 = 約4.55%)を掛け合わせれば、生産計画の歩留まり試算ができますね。
複数の上限値を比較する
上限値を変えながら積分値がどう変化するか、表で確認してみましょう。
| セル | 数式 | 結果 | 説明 |
|---|---|---|---|
| B1 | =ERF.PRECISE(0.5) | 0.5205 | 0〜0.5の区間 |
| B2 | =ERF.PRECISE(1) | 0.8427 | 0〜1の区間 |
| B3 | =ERF.PRECISE(1.5) | 0.9661 | 0〜1.5の区間 |
| B4 | =ERF.PRECISE(2) | 0.9953 | 0〜2の区間 |
| B5 | =ERF.PRECISE(3) | 0.9999 | 0〜3の区間 |
xが大きくなるにつれて結果が1に近づいていくのがわかりますね。x = 3のあたりではほぼ1になるため、それ以上大きくしても結果はほとんど変わりません。
ERFC.PRECISEと組み合わせて使う
ERF.PRECISEの結果を使って、相補誤差関数の値を確認することもできます。
=1 - ERF.PRECISE(1)
結果は 0.1573 です。これはERFC.PRECISE関数で =ERFC.PRECISE(1) と入力した場合と同じ結果になります。
ERF.PRECISE(x) + ERFC.PRECISE(x) = 1 という関係を覚えておくと、どちらか一方の結果からもう一方を求められるので便利ですよ。
TIP
「規格内に収まる確率」が必要なら ERF.PRECISE、「規格を外れる確率(不良率)」が必要なら ERFC.PRECISE を使うと、引き算の手間が省けます。
ERF.PRECISE関数でよくあるエラーと対処法
ERF.PRECISE関数で出やすいエラーは2種類だけです。落ち着いて見直せばすぐに解消できますよ。
| エラー | 主な原因 | 対処法 |
|---|---|---|
| #VALUE! | 引数が数値でない(文字列・空白セル) | 引数のセルが数値型か確認。ISNUMBER関数でチェック |
| #NAME? | 関数名スペルミス、Excel 2007以前 | 「ERF.PRECISE」(ドット付き)と正確に入力。バージョン確認 |
#VALUE!エラー
引数に数値以外の値(文字列や空白など)を指定すると、#VALUE!エラーが表示されます。
=ERF.PRECISE("abc") → #VALUE!エラー
=ERF.PRECISE(A1) → A1が文字列の場合、#VALUE!エラー
対処法: 引数に指定するセルが数値になっているか確認してみてください。ISNUMBER関数でチェックするのもおすすめです。空白セルを参照している場合も、空文字列扱いで#VALUE!になることがあるので、IF関数で空白判定を挟むと安全です。
#NAME?エラー
関数名のスペルミスや、対応していないバージョンのExcelで使おうとすると#NAME?エラーになります。
=ERF.PRESICE(1) → #NAME?エラー(正しくは ERF.PRECISE)
=ERFPRECISE(1) → #NAME?エラー(ドットが必要)
対処法: 関数名が「ERF.PRECISE」(ドット付き)になっているか確認しましょう。「PRESICE」と「PRECISE」のスペルミスは特によくあるので注意してください。Excel 2007以前のバージョンではこの関数は使えません。古い環境ではERF関数で代替しましょう。
ERF.PRECISE関数と似た関数との違い・使い分け
ERF.PRECISE関数には、似た機能を持つ関連関数がいくつかあります。用途に応じて使い分けましょう。
| 関数名 | 構文 | 下限 | 上限 | 特徴 |
|---|---|---|---|---|
| ERF | =ERF(下限, [上限]) | 任意 | 任意(省略可) | 区間積分が可能。柔軟性が高い |
| ERF.PRECISE | =ERF.PRECISE(x) | 0固定 | x | 下限0固定。引数1つでシンプル |
| ERFC | =ERFC(x) | x | ∞ | 相補誤差関数(1 – ERF(x)) |
| ERFC.PRECISE | =ERFC.PRECISE(x) | x | ∞ | ERFCと同値。互換性のため用意 |
ERF.PRECISEとERFの使い分け
ERF.PRECISE関数は、下限が常に0に固定されています。引数が1つだけなのでシンプルに書けるのがメリットです。「0からxまでの積分値」だけが必要なら、ERF.PRECISEのほうがわかりやすいですよ。
一方、ERF関数は下限と上限を自由に指定できます。「0.5から1.5までの積分値」のように特定の区間を指定したいときはERF関数を使いましょう。
=ERF.PRECISE(1) → 0から1までの積分(引数1つでシンプル)
=ERF(0.5, 1.5) → 0.5から1.5までの積分(区間指定が必要なとき)
実は、ERF関数に引数を1つだけ渡した場合も同じ結果になります。つまり =ERF(1) と =ERF.PRECISE(1) はどちらも 0.8427 を返します。使いやすいほうを選んで大丈夫ですよ。
ERF.PRECISEとERFC.PRECISEの関係
ERFC.PRECISE関数は「相補誤差関数」を返します。ERF.PRECISEとERFC.PRECISEには次の関係があります。
ERFC.PRECISE(x) = 1 - ERF.PRECISE(x)
つまり、ERF.PRECISE(1) が 0.8427 なら、ERFC.PRECISE(1) は 1 – 0.8427 = 0.1573 です。「誤差関数の残りの部分」が必要なときはERFC.PRECISEを使うと、引き算の手間が省けますよ。
ERF.PRECISEとNORM.S.DISTの使い分け
正規分布の確率を求めたいだけなら、NORM.S.DIST関数も選択肢になります。両者の関係は次の式です。
NORM.S.DIST(z, TRUE) = (1 + ERF.PRECISE(z/SQRT(2))) / 2
たとえば標準正規分布で z=1 までの累積確率を求める場合、=NORM.S.DIST(1, TRUE) で 0.8413 が直接得られます。同じ値を ERF.PRECISE で出すには =(1+ERF.PRECISE(1/SQRT(2)))/2 と書く必要があります。
実務では次のように使い分けると分かりやすいですよ。
- 正規分布の累積確率がほしい: NORM.S.DIST(直接的で読みやすい)
- 誤差関数そのものがほしい: ERF.PRECISE(数式や論文の再現用)
- ±k×σの範囲確率を一発で出したい: ERF.PRECISE(k/SQRT(2))(
/2不要)
CONFIDENCE関数で信頼区間を計算するときも、内部的には正規分布が使われています。誤差関数 → 正規分布 → 信頼区間という流れで関連関数を覚えておくと、統計処理の引き出しが一気に増えますよ。
まとめ
ExcelのERF.PRECISE関数について解説しました。最後にポイントを整理しておきましょう。
- ERF.PRECISE関数は 0から指定値までの誤差関数の積分値 を返す関数
- 引数はxの1つだけ。下限は自動的に0に固定される
- 戻り値は-1から1の範囲で、xが大きくなるほど1に近づく
- 正規分布の ±kσ 範囲の確率は
=ERF.PRECISE(k/SQRT(2))で一発計算できる - 数値以外を指定すると#VALUE!エラー、スペルミスは#NAME?エラーになるので注意
- 区間を自由に指定したいならERF関数、相補誤差関数ならERFC.PRECISE、累積確率なら NORM.S.DIST も選択肢
品質管理や統計処理でERF.PRECISE関数を活用して、データ分析の効率を上げてみてくださいね。