【Excel】GAMMA関数とは?構文・FACT関数との違い・#NUM!エラー対処まで解説

スポンサーリンク

ExcelのGAMMA関数を使いたいけれど、「ガンマ関数って何?」と手が止まっていませんか? 数学の教科書に出てくる難しそうな記号を見ると、つい身構えてしまいますよね。でも安心してください。GAMMA関数は引数を1つ入れるだけのシンプルな関数です。この記事では、基本の使い方からエラー対処、関連関数との違いまでまとめて解説します。

ExcelのGAMMA関数とは?

ExcelのGAMMA関数は、数学のガンマ関数 Γ(ガンマ)の値を返す関数です。「階乗(かいじょう)を実数に拡張したもの」と考えるとイメージしやすいですよ。

Excel 2016以降およびMicrosoft 365で使えます。

GAMMA関数の読み方

GAMMA関数は「ガンマ関数」と読みます。ギリシャ文字の大文字 Γ(ガンマ)が名前の由来です。

ガンマ関数の数学的意味(階乗の一般化)

階乗とは「n! = n × (n-1) × … × 1」の計算です。たとえば 4! = 4×3×2×1 = 24 ですね。

ただし、階乗は正の整数にしか使えません。「2.5の階乗」は定義できないのです。そこで登場するのがガンマ関数です。ガンマ関数は整数以外の実数にも階乗の考え方を拡張できます。

正の整数 n に対しては、次の関係が成り立ちます。

Γ(n) = (n-1)!

また、ガンマ関数には次の漸化式(ぜんかしき)があります。

Γ(N+1) = N × Γ(N)

この性質を使えば、小数や一部の負の数でも値を求められますよ。

FACT関数との関係(GAMMA(n)=FACT(n-1))

整数 n に対して、GAMMA関数とFACT関数には次の関係があります。

GAMMA(n) = FACT(n-1)

たとえば =GAMMA(5)=FACT(4) と同じ結果(24)を返します。整数の階乗だけならFACT関数で十分です。小数を扱いたいときにGAMMA関数の出番がやってきます。

GAMMA関数の構文と引数

基本構文

=GAMMA(数値)

引数は1つだけなので、迷うことはありません。

引数「数値」の指定ルール

項目内容
引数名数値(number)
必須/省略必須
指定できる値正の実数、負の非整数
指定できない値0、負の整数(-1, -2, -3…)
戻り値ガンマ関数 Γ(数値) の計算結果

0や負の整数を指定すると #NUM! エラーになります。一方、-3.75のような負の非整数は計算できますよ。

GAMMA関数の使用例

整数を指定する(GAMMA(5)=24)

もっとも基本的な使い方です。整数を入れた場合は「(n-1)の階乗」と同じ結果になります。

=GAMMA(5)

結果は 24 です。これは 4! = 4×3×2×1 = 24 と一致します。

小数を指定する(GAMMA(0.5)=√π)

GAMMA関数の真価は小数を扱えることです。

=GAMMA(0.5)

結果は 約1.7725 です。これは √π(パイの平方根)と等しい値です。Excelで円周率を取得するにはPI関数を使います。整数の階乗では得られない値を計算できるのがGAMMA関数の強みですよ。

代表値一覧(n=0.5〜6の早見表)

よく使われる値を表にまとめました。手元で確認するときに便利です。

数式結果備考
=GAMMA(0.5)1.7725√π
=GAMMA(1)10! = 1
=GAMMA(1.5)0.8862√π/2
=GAMMA(2)11! = 1
=GAMMA(2.5)1.3293
=GAMMA(3)22! = 2
=GAMMA(4)63! = 6
=GAMMA(5)244! = 24
=GAMMA(6)1205! = 120

整数部分は FACT(n-1) と同じ結果になっていることが確認できますね。

GAMMA関数のエラーと対処法

#NUM! エラー(0・負の整数・172以上)

GAMMA関数で最もよく出るエラーが #NUM! です。次の3パターンで発生します。

=GAMMA(0)     → #NUM!(0は指定不可)
=GAMMA(-2)    → #NUM!(負の整数は指定不可)
=GAMMA(172)   → #NUM!(値が大きすぎてオーバーフロー)

対処法:

  • 0や負の整数が入る可能性がある場合は、IF関数で事前にチェックしましょう
  • 大きな値を扱うときはGAMMALN関数(後述)で対数値に変換すると回避できます

負の非整数(-3.75など)はエラーになりません。=GAMMA(-3.75) は約0.268を返しますよ。

エラー値の種類をもっと知りたい方は「Excelエラー値まとめ」も参考にしてみてください。

#VALUE! エラー(数値以外の引数)

文字列など、数値として解釈できないデータを渡すと #VALUE! エラーになります。

=GAMMA("abc")  → #VALUE!

セル参照を使う場合は、参照先が数値であることを確認してくださいね。

GAMMA関数と関連関数の使い分け

FACT関数との比較

比較項目GAMMA関数FACT関数
対応する値実数・負の非整数正の整数のみ
計算内容Γ(n)n!
関係GAMMA(n) = FACT(n-1)
小数の扱い計算できる#NUM! エラー

整数の階乗だけならFACT関数がシンプルです。小数や負の非整数が登場する場面ではGAMMA関数を使いましょう。

GAMMALN関数:大きな数でオーバーフロー回避

GAMMA関数は171を超えると #NUM! エラーになります。これはExcelが扱える数値の上限を超えるためです。

GAMMALN関数はガンマ関数の自然対数(ln)を返します。対数に変換することで、桁数が圧縮されてオーバーフローを回避できますよ。

=GAMMALN(200)   → 857.934(対数値なのでエラーにならない)
=GAMMA(200)     → #NUM!(オーバーフロー)

大きな値を扱う統計計算ではGAMMALN関数の方が実用的です。

GAMMA.DIST / GAMMA.INV:確率分布計算への応用

ガンマ分布は、待ち時間や寿命データの分析に使われる確率分布です。

  • GAMMA.DIST: ガンマ分布の確率密度・累積分布値を返します
  • GAMMA.INV: 累積確率からその値(パーセント点)を逆算します

GAMMA関数そのものを直接使う場面は限られますが、ガンマ分布の理論的な背景を理解するうえで役立ちますよ。

COMBIN / COMBINA / PERMUTとの組み合わせ

組み合わせや順列の計算には専用の関数があります。

これらの関数は内部的にガンマ関数と同じ計算をしています。実務ではCOMBINやPERMUTを直接使う方が手軽ですよ。

まとめ

GAMMA関数は「階乗を実数に拡張する」ための関数です。ポイントを振り返りましょう。

  • 構文は =GAMMA(数値) で引数は1つだけ
  • 整数なら GAMMA(n) = FACT(n-1) の関係が成り立つ
  • 小数や負の非整数も計算できるのが強み
  • 0・負の整数は #NUM! エラーになる
  • 大きな値にはGAMMALN関数でオーバーフローを回避

普段の業務で直接使う場面は多くありませんが、統計分析や確率分布の計算で登場します。まずは =GAMMA(5) を入力して、24が返ってくることを確かめてみてくださいね。

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