関数 EXCEL&VBA

エクセルで階乗を求める方法

みなさんは「階乗」という言葉をご存知ですか?

階乗とは、1から n までの整数を掛け合わせた数値のことで「n!」のように表されます。
例えば3の階乗は「3!=3×2×1」で答えは「6」となります。

今回はそんな階乗をエクセルで求める方法について解説します。



階乗を求める関数

階乗をもう少し数学的に説明した場合、n の階乗は以下の式で求められます。
n!は、1から n までを順番にかけたものなので;

n!=1 × 2 × 3 × ・・・ × n

あるいは;

n!=n × [n-1] × [n-2] × [n-3] × ・・・ × 2 × 1

学生の時に順列・組み合わせの「順列」を解くときに使いましたよね? アレです。
そしてこの階乗を求めるには FACT関数を使います。

エクセルでの 書式はいたって簡単で;

FACT(数値)

となります。
(数値)の部分に数値以外のデータを指定すると「#VALUE!」のエラーになるので注意してください。
ちなみに(数値)に負の数を指定した場合は「#NUM!」のエラーが返ってきます。

今回は、下のサンプルを使います。

表のB列に A列の数値の階乗を表示させます。
セルB2に入る数式は;

FACT(A2)

となり、結果は下の図のようになります。

なぜ「0」の階乗が「1」になるのか?という理由についての解説は、数学系の数あるサイトで語られているのでそちらにお任せします。
「0!=1」なのです。

前段で例にあげた3の階乗は「3!=3×2×1」(掛ける順番は逆でも同じ)で答えの「6」が表示されているのがわかります。

注意点

エクセルで階乗を扱う場合、以下の点に注意してください。

・エクセルの数値の有効桁数は15桁なので、21以上の階乗に誤差が出ます。また、171以上の階乗はエクセルで扱える数値の範囲を超えるためエラー値「#NUM!」が返されます。
・引数に整数以外の数値を指定すると、小数点以下は切り捨てられて計算されます。

以上で『エクセル階乗を求める方法』は終了。
その他の関連記事と合わせて仕事や趣味に役立ててください。

関連記事・広告






-関数, EXCEL&VBA
-