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) | 1 | 0! = 1 |
=GAMMA(1.5) | 0.8862 | √π/2 |
=GAMMA(2) | 1 | 1! = 1 |
=GAMMA(2.5) | 1.3293 | — |
=GAMMA(3) | 2 | 2! = 2 |
=GAMMA(4) | 6 | 3! = 6 |
=GAMMA(5) | 24 | 4! = 24 |
=GAMMA(6) | 120 | 5! = 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が返ってくることを確かめてみてくださいね。
