この記事ではExp関数の使い方と注意点について解説します。
他のよく使うVBA関数一覧はこちら。
Exp関数の使い方と注意点
Exp関数は、e(約2.71828)を底としたべき乗の値を返す関数です。
例えば、Exp(1)はe^1、Exp(2) はe^2の値を返します。
構文
Exp(数値)
- 数式 : 指数部の値(Double型)
- 戻り値 : e^数値 の値(Double型)
使用例
正の指数
Sub Sample()
Debug.Print Exp(2) ' e^2
End Sub
▶ 出力結果
7.38905609893065
負の指数
Sub Sample()
Debug.Print Exp(-1) ' e^-1
End Sub
▶ 出力結果
0.367879441171442
0を指数にする
Sub Sample()
Debug.Print Exp(0) ' e^0
End Sub
▶ 出力結果
1
⚠️注意
数値以外を渡すとエラー
Sub Sample()
On Error Resume Next
Err.Clear
Debug.Print Exp(Null) ' Null
If Err.Number <> 0 Then Debug.Print "Null : " & Err.Description
Err.Clear
Debug.Print Exp("abc") ' 英字小文字
If Err.Number <> 0 Then Debug.Print "小文字 : " & Err.Description
Err.Clear
Debug.Print Exp("ABC") ' 英字大文字
If Err.Number <> 0 Then Debug.Print "大文字 : " & Err.Description
Err.Clear
Debug.Print Exp("あいう") ' ひらがな
If Err.Number <> 0 Then Debug.Print "ひらがな : " & Err.Description
Err.Clear
Debug.Print Exp("アイウ") ' カタカナ
If Err.Number <> 0 Then Debug.Print "カタカナ : " & Err.Description
Err.Clear
Debug.Print Exp("亜伊宇") ' 漢字
If Err.Number <> 0 Then Debug.Print "漢字 : " & Err.Description
Err.Clear
Debug.Print Exp("!?#") ' 記号
If Err.Number <> 0 Then Debug.Print "記号 : " & Err.Description
On Error GoTo 0
End Sub
▶ 出力結果
Null : Null の使い方が不正です。
小文字 : 型が一致しません。
大文字 : 型が一致しません。
ひらがな : 型が一致しません。
カタカナ : 型が一致しません。
漢字 : 型が一致しません。
記号 : 型が一致しません。
指数が大きすぎるとオーバーフロー
引数が709.782712893
を超えるとエラーになります。
Sub Sample()
On Error Resume Next
Err.Clear
Debug.Print Exp(710)
If Err.Number <> 0 Then Debug.Print Err.Description
On Error GoTo 0
End Sub
▶ 出力結果
オーバーフローしました。
その他のVBA関数
【Excel VBA】VBAでよく使う関数一覧&基本の使い方