Excel VBAの「Exp 関数」について解説します。
Exp 関数とは
Excel VBA の Exp 関数は、e (ネイピア数:約2.718282) を底とする数値のべき乗を示す Double を返します。
Exp 関数の構文や実際の使い方についての解説とあわせて Log 関数との関係についても解説します。
べき乗(べきじょう)とは、同じ数 (底) を複数回掛け合わせる計算のことで、累乗とも呼ばれます。
たとえば、「2の3乗」とは、2を3回掛けるという意味で、2×2×2=8 となります。この際、
「23」の 2 は底(base)、右上に書く数字 3 を指数(exponent)と呼びます。
Exp 関数(Visual Basic for Applications リファレンス)
構文(引数と戻り値)
Excel VBAの関数を使いこなすには、関数の構文を正しく理解しておくことが重要です。
構文
Exp(number)
引数
| 指定項目 | 説明 |
|---|---|
| number | 【必須】任意の有効な Double型の数値(式) |
※ number の値が 709.782712893 を超えるとオーバーフローエラー(実行時エラー ‘6’)が発生します。
戻り値
定数 e (ネイピア数:約2.718282) を底とする指数値 (べき乗) を返します。
戻り値のデータ型は Double型(倍精度浮動小数点型) です。
e (ネイピア数) とは
e は約 2.718282 の無理数で、
- 複利計算
- 成長率計算
- 統計・確率
- 自然対数(Log関数)
などで使われる重要な定数です。
解説(使用例)
ここからは、サンプルを使って使用例や注意点などについて解説します。
Exp 関数の基本的な使い方
基本的な Exp 計算例
InputBox で入力した数値のべき乗を求めます。
'■Exp関数サンプル1(eを底とする数値のべき乗を求める)
Sub Exp_Sample_01()
Dim num As Double
num = InputBox("数値を入力して下さい")
MsgBox "e^" & num & " = " & Exp(num)
End SubInputBox に 1.5 を入力してみました。

実行結果がこちらです。

e の 1.5 乗 が Exp 関数で計算され、表示されました。
InputBox に試しに大きな値「1000」などと入力した場合、次のようなエラーが表示されます。

必要に応じてエラー処理を入れておくなどの対策を講じましょう。
指数 0 ~ 5 のべき乗を計算する
0 ~ 5 をループ処理でべき乗を計算して結果を表示させます。
'■Exp関数サンプル2(指数0~5を確認する)
Sub Exp_Sample_02()
Dim num As Double
For num = 0 To 5
Debug.Print "e^" & num & " = " & Exp(num)
Next num
End Sub
Log 関数との関係を確認してみる
Exp 関数と Log 関数は逆の関係にあることを確認してみましょう。
'■Exp関数サンプル3(Log関数との関係を確認する)
Sub Exp_Sample_03()
Dim num As Long
num = 5
MsgBox "Log(Exp(" & num & ")) = " & Log(Exp(num)) & _
vbCrLf & "Exp(Log(" & num & ")) = " & Exp(Log(num))
End Sub5 のべき乗の自然対数と 5 の自然対数のべき乗を比較してみました。

実行結果結果はどちらも元の値「5」となりました。
Exp 関数と Log 関数は逆関係にあることが確認できました。
Exp 関数の応用(複利計算)
次のサンプルは Exp 関数で連続複利の計算を行う例です。
'■Exp関数サンプル4(複利計算に利用する例)
Sub Exp_Sample_04()
Dim P As Double 'Principal(元本)
Dim r As Double 'Rate(利率)
Dim t As Double 'Time(期間)
P = 100000 '元金
r = 0.05 '年利=5%
t = 3 '年数
MsgBox t & "年後の金額 = " & P * Exp(r * t)
End Subコードは年利5%の複利計算で3年後の元利合計金額を計算しています。

これは金融計算でよく使われます。
目標金額になるためには何年かかるかなど様々な応用が可能です。
まとめ

VBAの関数一覧はこちらからご参照ください。

VBAサンプルファイルダウンロードページのご案内
このページで使用したサンプルファイルの登録はありません(^^;
ページ内のコードをコピーしてご利用ください。
ダウンロードページへのリンクは下のカードクリックでジャンプできます。
よろしければご利用ください!

