Vba で階乗関数を作成する方法 (例付き)
階乗は、特定の正の整数以下のすべての正の整数の積です。
たとえば、5 階乗 (5 と書きます!) は次のように計算されます。
- 5! = 5 * 4 * 3 * 2 * 1 = 120
次の構文を使用して、VBA で階乗関数を作成できます。
Function FindFactorial(N As Integer) As Double
Dim i As Integer, result As Long
result = 1
For i = 1 To N
result = result * i
Next
FindFactorial = result
End Function
この関数を作成したら、Excel のセルに=FindFactorial(A2)のようなものを入力して、セルA2内の整数の階乗を見つけることができます。
次の例は、この構文を実際に使用する方法を示しています。
例: VBA で階乗関数を作成する
Excel に次の数値リストがあり、各数値の階乗を計算するとします。
これを行うには、VBA で次の関数を定義できます。
Function FindFactorial(N As Integer) As Double
Dim i As Integer, result As Long
result = 1
For i = 1 To N
result = result * i
Next
FindFactorial = result
End Function
この関数を作成したら、セルB2に次の数式を入力して、セルA2の値の階乗を計算できます。
=FindFactorial( A2 )
次に、この数式をクリックして、列 B の残りの各セルにドラッグします。
列 B には、列 A の各整数の階乗が表示されることに注意してください。
例えば:
- 1! = 1
- 2! = 2 * 1 = 2
- 3! = 3 * 2 * 1 = 6
- 4! = 4 * 3 * 2 * 1 = 24
等々。
注: VBA を使用せずに Excel で階乗を計算するには、 FACT関数を使用できます。
追加リソース
次のチュートリアルでは、VBA で他の一般的なタスクを実行する方法について説明します。