VBA Exp 関数 e(ネイピア数)のべき乗(指数)を返します

VBA Exp 関数 e(ネイピア数)のべき乗(指数)を返します

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 Sub

InputBox に 1.5 を入力してみました。

Exp関数サンプル1のInputBox画像

実行結果がこちらです。

Exp関数サンプル1実行結果のMsgBox

e の 1.5 乗 が Exp 関数で計算され、表示されました。

InputBox に試しに大きな値「1000」などと入力した場合、次のようなエラーが表示されます。

大きな値の引数で表示されるExp関数のエラー

必要に応じてエラー処理を入れておくなどの対策を講じましょう。

指数 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

結果は次のとおりイミディエイトに表示されました。

Exp関数サンプル2実行時のイミディエイト画像

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 Sub

5 のべき乗の自然対数と 5 の自然対数のべき乗を比較してみました。

Exp関数サンプル3 Log関数との関係を確認した結果

実行結果結果はどちらも元の値「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年後の元利合計金額を計算しています。

Exp関数サンプル4 複利計算の結果画像

これは金融計算でよく使われます。

目標金額になるためには何年かかるかなど様々な応用が可能です。

まとめ

おわりに

VBA の Exp 関数は、e (自然対数の底:約2.718282) のべき乗を求めるための e 専用の指数関数です。

自然対数を求める Log 関数の逆関数が Exp 関数です。

  • 709.782712893 を超える値を指定するとオーバーフロー(実行時エラー ‘6’)になります
  • 複利計算のほか次のような実務での活用例があります
    • 成長率の連続計算
    • 減衰計算
    • 正規分布計算の一部
    • ロジスティック関数
    • Log関数とのセット利用 など

以上、この解説が少しでもみなさまのお役に立てたなら幸いです(^^;

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

VBAサンプルファイルダウンロードページのご案内

このページで使用したサンプルファイルの登録はありません(^^;
ページ内のコードをコピーしてご利用ください。

ダウンロードページへのリンクは下のカードクリックでジャンプできます。
よろしければご利用ください!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次