ExcelのFACT関数|階乗の求め方とエラー対策

スポンサーリンク

「5の階乗って何だっけ?」と聞かれて、パッと答えられますか?

階乗の計算は数が大きくなると手作業では大変ですよね。電卓で1つずつ掛け算するのも面倒ですし、桁が増えると計算ミスも起きやすいです。

ExcelのFACT関数なら、セルに数値を入れるだけで階乗を一発で求められます。この記事では、基本の使い方からエラー対策、COMBIN・PERMUTとの組み合わせまでまとめて解説しますね。

ExcelのFACT関数とは

FACT関数は、指定した数値の階乗(かいじょう)を返す関数です。階乗とは、その数から1まで順に掛け合わせる計算のことです。

たとえば 5 の階乗は「5×4×3×2×1 = 120」です。数式で書くと 5! と表記します。

対応バージョンはExcel 2003以降です。Microsoft 365やExcel 2021でも問題なく使えますよ。

読み方・語源

FACT関数は「ファクト関数」と読みます。英語の “factorial”(階乗)が語源です。

FACT(0)=1になる理由

=FACT(0) の結果は 1 です。「0個の数を掛け合わせて1?」と不思議に思いますよね。

これは数学で「空積(くうせき)」と呼ばれる定義です。0個のものを並べる方法は1通りしかない、と考えるとイメージしやすいですよ。組み合わせの公式でも 0! = 1 でないと計算が成り立たないため、この定義が採用されています。

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

基本構文

=FACT(数値)

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

引数の説明

引数必須/任意説明
数値(number)必須階乗を求めたい0以上の数値を指定する

引数のルールを整理しておきましょう。

  • 0以上の数値を指定できる
  • 小数を指定した場合は小数点以下が切り捨てられる
  • 負の数を指定すると #NUM! エラーになる
  • 上限は170。171以上は #NUM! エラーになる

FACT関数の基本的な使い方

整数の階乗を求める

もっとも基本的な使い方です。セルに数値を入力し、FACT関数で階乗を計算します。

=FACT(5)

結果は 120 です。5×4×3×2×1 = 120 ですね。

代表的な値を表にまとめました。

数式結果計算内容
=FACT(0)1空積の定義
=FACT(1)11
=FACT(3)63×2×1
=FACT(5)1205×4×3×2×1
=FACT(10)3,628,80010×9×…×1
=FACT(170)約7.26×10^306上限値

FACT(10)で360万を超えます。手計算では確認しづらい数値も一瞬で出せるのがFACT関数の強みです。

小数を指定したときの動作(切り捨て)

FACT関数に小数を渡すと、小数点以下が切り捨てられます。

=FACT(5.9)

結果は 120 です。5.9 → 5 に切り捨てられ、FACT(5) と同じ結果になります。四捨五入ではなく切り捨てなので注意してくださいね。

FACT関数の実践的な使い方

ここからは、FACT関数を使った実務的な活用例を紹介します。

全順列(全員の並べ方)を求める

5人を1列に並べる方法は何通りあるでしょうか。これは5の階乗そのものです。

=FACT(5)

結果は 120 通りです。座席の配置やプレゼンの発表順を決める場面で、全パターン数を把握できますよ。

組み合わせ(COMBIN)をFACTで手動計算

COMBIN関数は組み合わせの数を求める関数です。内部では次の公式で計算しています。

nCr = n! / (r! × (n - r)!)

この公式をFACT関数で再現してみましょう。10人から3人を選ぶ組み合わせを求めます。

=FACT(10) / (FACT(3) * FACT(10-3))

結果は 120 です。=COMBIN(10, 3) と同じ結果になりますね。COMBIN関数の結果を検算したいときに便利です。

順列(PERMUT)をFACTで手動計算

PERMUT関数は順列の数を求める関数です。公式は次のとおりです。

nPr = n! / (n - r)!

10人から3人を選んで並べる順列をFACT関数で求めます。

=FACT(10) / FACT(10-3)

結果は 720 です。=PERMUT(10, 3) と一致します。組み合わせ(120)の6倍になるのは、3人の並び順が 3! = 6 通りあるためです。

FACT関数のエラーと対処法

FACT関数で発生するエラーは主に2種類です。

エラー原因
#NUM!負の数を指定した=FACT(-1)
#NUM!171以上を指定した=FACT(171)
#VALUE!数値以外を指定した=FACT("abc")
=FACT(-1)     → #NUM!(負の数は指定不可)
=FACT(171)    → #NUM!(上限170を超過)
=FACT("abc")  → #VALUE!(文字列は指定不可)

#NUM! エラーが出たら、まず引数が0〜170の範囲に収まっているかを確認しましょう。FACT(170)は約7.26×10^306という巨大な数値です。171以上はExcelの数値上限を超えてしまいます。

エラーを表示させず0や空欄を返したいときは、IFERRORと組み合わせてください。

=IFERROR(FACT(A1), "入力値を確認してください")

引数が0〜170の範囲外になったときに、指定したメッセージを表示できます。

エラーの種類や対処方法をもっと知りたい方は、Excelのエラー値まとめも参考にしてみてくださいね。

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

FACT vs FACTDOUBLE

FACTDOUBLE関数二重階乗(にじゅうかいじょう)を返す関数です。1つおきに掛け算する点が通常の階乗と異なります。

関数計算内容5を指定した場合結果
FACT5×4×3×2×1=FACT(5)120
FACTDOUBLE5×3×1=FACTDOUBLE(5)15

FACTDOUBLEは奇数なら「奇数だけの積」、偶数なら「偶数だけの積」を返します。通常の階乗計算ならFACT関数を使ってください。

FACT vs GAMMA

GAMMA関数は「階乗を実数に拡張した」ガンマ関数の値を返します。整数 n に対して次の関係が成り立ちます。

GAMMA(n+1) = FACT(n)

たとえば =GAMMA(6)=FACT(5) はどちらも120です。整数の階乗だけならFACT関数で十分です。小数の階乗を求めたいときにGAMMA関数の出番がやってきます。

FACT・COMBIN・PERMUTの使い分けフロー

どの関数を使うか迷ったら、次のフローで判断できます。

Q1. 全員(全部)を並べる?

  • はい → FACT関数(n! を求める)
  • いいえ → Q2へ

Q2. 選ぶ順番は結果に影響する?

実務で組み合わせや順列を求めるなら、COMBINやPERMUTを直接使うのが手軽です。FACT関数は公式を手動で組み立てたいときや、検算に活用してみてください。

まとめ

ExcelのFACT関数は、数値の階乗を一発で求められるシンプルな関数です。この記事のポイントをおさらいしましょう。

  • 構文: =FACT(数値) で引数は1つだけ
  • 小数: 小数点以下は切り捨てて計算される
  • FACT(0) = 1: 空積の定義により1が返る
  • 上限: FACT(170)が最大。171以上は #NUM! エラー
  • 検算: COMBIN関数PERMUT関数の結果をFACTで手動再現できる

階乗の計算は手作業だとミスが起きやすいので、FACT関数にまかせてしまうのがおすすめです。まずは =FACT(5) を入力して、120が返ってくることを確かめてみてくださいね。

Excelの関数一覧はアルファベット順機能別からも探せます。

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