Excel VBA 数学教室ではアフィリエイトプログラムを利用して商品を紹介しています。

【VBA】Exp関数

【VBA】Exp関数で指数計算を実行する

VBAExp関数 はネイピア数 $e=2.718…$ のべき乗を返します。
戻り値は double 型(倍精度浮動小数点数型)となります。
引数に 1 を指定すると、$e^1=e$ を計算するので、自然対数の底(ネイピア数)を得ることができます。

'[VBA] ネイピア数の表示
Sub Napier()
    Dim f As Double
    Debug.Print Exp(1)
End Sub

'2.71828 ...

以下のマクロを実行すると、ワークシートの A 列と B 列に指数関数 $y=e^x$ のグラフを描くためのデータが得られます。

'[VBA] y=exp(x)の連続データを作成
Sub Exp_Plot()
  Dim i As Double
  i = -4
  Range("A1") = "x"
  Range("B1") = "exp(x)"
  Range("A2").Select
  Do While i <= 4.01
    ActiveCell.Value = i
    ActiveCell.Offset(, 1).Value = Exp(i)
    ActiveCell.Offset(1).Select
    i = i + 0.2
  Loop
End Sub

A 列と B 列を選んで [挿入] ⇒ [散布図] と順に選択すると、指数関数のグラフがプロットされます。

指数関数の中に一次式を入れるファンクションマクロ(ユーザー定義関数)を載せておきます。

'[VBA] y=exp(ax+b)
Function EFX(x As Double, a As Double, b As Double) As Double
   EFX = Exp(a * x + b)
End Function

 ワークシートで

=EFX(数値1,数値2,数値3)

と入力すれば $\exp(ax+b)$ の値を返します。引数は x, a, b の順に指定してください。

エクセルや数学に関するコメントをお寄せください