対数関数であるlog、事務計算ではローン関連くらいでしか聞かないが、いわゆる科学技術計算ではよく用いられるようだ。
情報処理でもちょいちょいでてくるので、おさらいの意味で記載しておく。

【加減算は内部では乗除算になる】
logx a + logx b = logx ( a × b )
logx a - logx b = logx ( a ÷ b )

補足だが、
log10 10 = 1
log10 100 = 2
log10 1000 = 3
である。

上記の補足を参考に、実際に値を入れて検証してみよう。例として加算を検証してみる。
log10 100 + log1010 = log10 ( 100 × 10 )
それぞれを上記の補足を参考に置き換えると
2 + 1 = 3
となり、整合性は取れている。


【内部のべき乗は掛け算として出せる】
logx a b = b × logx a

これも値を入れて検証してみよう。
log10 10 3 = 3 × log10 10

左辺は
log10 10 3 = log10 1000 = 3
右辺は
3 × log10 10 = 3 × 1 = 3
ということで、これも整合性は取れている。



さて、VBAで対数関数のlogを使うときの注意点にも触れておこう。
他のバージョンを確認していないが、Excel 2002、つまり Office XP のバージョンであれば、log関数はVBAではなくワークシート関数をVBA内で用いた方がよい
log関数には底、というものがあるが、VBAでは数学の専門用語でいうところの自然対数(底がe、VBAのヘルプに依れば約 2.718282 とのこと)しか扱えないのだが、ワークシートは底も指定できる。底の変換という数学的テクニックもあるが、シンプルな実装にした方が間違いが少ないし、利用できるものは利用しよう。


--------------------------------------------
残り僅か。もうチェックした?ブログ交流会 7/10 品川にて開催