ExcelのERF関数の使い方|誤差関数の積分値を求める方法

スポンサーリンク

Excelで統計処理や品質管理のデータを扱っていると、「誤差関数(エラーファンクション)の積分値を求めたい」という場面に出くわすことがありますよね。手計算では大変な誤差関数の積分も、ExcelのERF関数を使えば、下限と上限を指定するだけでサッと求められますよ。

この記事では、ERF関数の書き方から実際の使い方、エラー対処法、似た関数との使い分けまでまとめて解説します。

ExcelのERF関数とは?

ERF関数は、誤差関数(error function)の積分値を返す関数です。読み方は「エラー・ファンクション」で、名前の「ERF」は error function の略です。

誤差関数とは、統計学や確率論で使われる特殊関数のひとつです。正規分布の累積分布関数と深い関係があり、品質管理や信号処理などの分野で活用されています。

数学的には、ERF(x)は次の式で定義されます。

ERF(x) = (2 / sqrt(pi)) × 0からxまでの e^(-t^2) の積分

ちょっと数式が難しく見えますが、ExcelではERF関数に値を入れるだけで計算してくれるので安心してください。

ERF関数の戻り値は -1から1の範囲 になります。ERF(0) = 0、xが大きくなるにつれて1に近づいていきますよ。

対応バージョンは Excel 2010 以降、Microsoft 365 です。

ERF関数の書き方(構文と引数)

基本構文

=ERF(下限, [上限])

角カッコ [] で囲まれた引数は省略できます。

引数の説明

引数必須/省略可説明
下限必須誤差関数を積分するときの下限値を指定します
上限省略可誤差関数を積分するときの上限値を指定します

引数の指定パターンで動作が変わるので、ここがポイントです。

  • 引数を1つだけ指定した場合(上限を省略): 下限が「0」、指定した値が上限として扱われます。つまり =ERF(1) は「0から1までの積分」になります
  • 引数を2つ指定した場合: 第1引数が下限、第2引数が上限として、その範囲の積分値を返します。つまり =ERF(0.5, 1) は「0.5から1までの積分」です

引数を1つだけ指定したときの動作は少し紛らわしいので、覚えておきましょう。

ERF関数の基本的な使い方

実際にERF関数を使ってみましょう。

引数を1つだけ指定する場合

セルに次のように入力します。

=ERF(1)

この場合、0から1までの誤差関数の積分値が返されます。結果は 0.8427 です。

もう少し小さい値も試してみましょう。

=ERF(0.5)

結果は 0.5205 になります。0から0.5までの積分値ですね。

引数を2つ指定する場合

下限と上限の両方を指定することもできます。

=ERF(0.5, 1)

この場合、0.5から1までの積分値が返されます。結果は 0.3222 です。

これは =ERF(1) - ERF(0.5) と同じ結果になりますよ。特定の区間だけの積分値を求めたいときに便利です。

セル参照を使う場合

数値を直接入力する代わりに、セル参照も使えます。

=ERF(A1)
=ERF(A1, B1)

セルA1に「0.5」、セルB1に「1」が入っていれば、それぞれの値を下限・上限として計算してくれます。データが多いときはセル参照を使うほうが便利ですよ。

ERF関数の実践的な使い方・応用例

品質管理での活用例

製造業の品質管理では、製品の寸法が規格内に収まる確率を求めることがあります。誤差関数は正規分布と関連しているため、この計算にERF関数が使えます。

たとえば、ある部品の寸法が平均値からの標準偏差1.5の範囲に入る確率を求めるには、次のように入力します。

=ERF(1.5/SQRT(2))

結果は 0.8664 となり、約86.6%の確率で規格内に収まることがわかります。SQRT関数(平方根を求める関数)を組み合わせて、標準偏差のスケールを調整しているのがポイントです。

積分区間を変えて比較する

複数の区間の積分値を比較したい場合も、ERF関数なら簡単です。

セル数式結果説明
C1=ERF(0, 0.5)0.52050〜0.5の区間
C2=ERF(0.5, 1)0.32220.5〜1の区間
C3=ERF(1, 1.5)0.12341〜1.5の区間
C4=ERF(1.5, 2)0.02921.5〜2の区間

xが大きくなるにつれて、区間あたりの積分値が小さくなっていくのがわかりますね。これは誤差関数のグラフが1に収束していく性質を反映しています。

ERF関数でよくあるエラーと対処法

#VALUE!エラー

引数に数値以外の値(文字列や空白など)を指定すると、#VALUE!エラーが表示されます。

=ERF("abc")   → #VALUE!エラー
=ERF(A1)      → A1が文字列の場合、#VALUE!エラー

対処法: 引数に指定するセルが数値になっているか確認してみてください。ISNUMBER関数でチェックするのもおすすめです。

#NAME?エラー

関数名のスペルミスや、対応していないバージョンのExcelで使おうとすると#NAME?エラーになります。

=ERR(1)   → #NAME?エラー(正しくは ERF)

対処法: 関数名が「ERF」になっているか確認しましょう。Excel 2007以前のバージョンでは、分析ツールアドインの有効化が必要な場合があります。

ERF関数と似た関数との違い・使い分け

ERF関数には、似た機能を持つ関連関数がいくつかあります。用途に応じて使い分けましょう。

関数名構文特徴
ERF=ERF(下限, [上限])下限と上限を自由に指定できる
ERF.PRECISE=ERF.PRECISE(x)下限が0に固定。上限のみ指定
ERFC=ERFC(x)相補誤差関数(1 – ERF(x))を返す
ERFC.PRECISE=ERFC.PRECISE(x)ERFCと同じ結果。互換性のために用意

ERFとERF.PRECISEの使い分け

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とERFCの関係

ERFC関数は「相補誤差関数」を返します。ERFとERFCには次の関係があります。

ERFC(x) = 1 - ERF(x)

つまり、ERF(1) が 0.8427 なら、ERFC(1) は 1 – 0.8427 = 0.1573 です。「誤差関数の残りの部分」が必要なときにERFCを使うと、わざわざ引き算しなくて済みますよ。

まとめ

ExcelのERF関数について解説しました。最後にポイントを整理しておきましょう。

  • ERF関数は 誤差関数の積分値 を返す関数
  • 引数を1つだけ指定すると、0からその値までの積分値を計算する
  • 引数を2つ指定すると、下限から上限までの区間の積分値を計算する
  • 数値以外を指定すると#VALUE!エラーになるので注意
  • 0からの積分だけならERF.PRECISE、相補誤差関数ならERFCも検討してみてください

統計処理や品質管理でERF関数を使いこなして、データ分析の幅を広げてみてくださいね。

タイトルとURLをコピーしました