この記事ではStrComp関数の使い方と注意点について解説します。
他のよく使うVBA関数一覧はこちら。
Log関数の使い方と注意点
Log関数は、数値の自然対数(底が e の対数)を返す関数です。
指数計算や統計処理、確率計算などで便利に使えます。
構文
Log(数値)
- 数式 : 対数を求めたい数値(0以下はエラー)
- 戻り値 : 自然対数の値(Double型)
使用例
正の数の自然対数を求める
Sub Sample()
Debug.Print Log(10)
End Sub
▶ 出力結果
2.30258509299405
1の自然対数
Sub Sample()
Debug.Print Log(1)
End Sub
▶ 出力結果
0
小数の自然対数
Sub Sample()
Debug.Print Log(0.5)
End Sub
▶ 出力結果
-0.693147180559945
底を任意にした対数
任意のnを底とする対数は、xの自然対数をnの自然対数で割ることによって得られます。
Log_n(x) = \frac{Log(x)}{Log(n)}
例:底10の対数を求める場合
Sub Sample()
Dim x As Double
x = 100
' 底10の対数
Debug.Print Log(x) / Log(10)
End Sub
▶ 出力結果
2
⚠️注意
0以下の数値はエラーになる
Sub Sample()
On Error Resume Next
Err.Clear
Debug.Print Log(0) ' ゼロ
If Err.Number <> 0 Then Debug.Print "ゼロ : " & Err.Description
Err.Clear
Debug.Print Log(-5) ' 負の値
If Err.Number <> 0 Then Debug.Print "負の値 : " & Err.Description
On Error GoTo 0
End Sub
▶ 出力結果
ゼロ : プロシージャの呼び出し、または引数が不正です。
負の値 : プロシージャの呼び出し、または引数が不正です。
数値以外を渡すとエラー
Sub Sample()
On Error Resume Next
Err.Clear
Debug.Print Log("abc") ' 英字小文字
If Err.Number <> 0 Then Debug.Print "小文字 : " & Err.Description
Err.Clear
Debug.Print Log("ABC") ' 英字大文字
If Err.Number <> 0 Then Debug.Print "大文字 : " & Err.Description
Err.Clear
Debug.Print Log("あいう") ' ひらがな
If Err.Number <> 0 Then Debug.Print "ひらがな : " & Err.Description
Err.Clear
Debug.Print Log("アイウ") ' カタカナ
If Err.Number <> 0 Then Debug.Print "カタカナ : " & Err.Description
Err.Clear
Debug.Print Log("亜伊宇") ' 漢字
If Err.Number <> 0 Then Debug.Print "漢字 : " & Err.Description
Err.Clear
Debug.Print Log("!?#") ' 記号
If Err.Number <> 0 Then Debug.Print "記号 : " & Err.Description
On Error GoTo 0
End Sub
▶ 出力結果
小文字 : 型が一致しません。
大文字 : 型が一致しません。
ひらがな : 型が一致しません。
カタカナ : 型が一致しません。
漢字 : 型が一致しません。
記号 : 型が一致しません。
その他のVBA関数
【Excel VBA】VBAでよく使う関数一覧&基本の使い方