0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Excel VBA】Log関数|自然対数を求める方法と注意点

0
Last updated at Posted at 2025-08-24

この記事では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でよく使う関数一覧&基本の使い方

参考リンク

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?