使用VBA和Excel函数,对数不同

Bru*_*yne 5 excel excel-formula

我正在尝试获取数字的日志,但看起来像Worksheet函数给出了一个答案,而VBA则是另一个答案.

在VB中,使用Log(Range("A2"))A2为7的地方,我得到了1.94591014905531,这是正确的答案.但是,如果在工作表中,我使用=Log(A2,10)或者=Log10(a2),我得到了0.84509804.这里发生了什么?

Mic*_*riz 16

VBA的Log功能是自然日志.如果您想要log base ten,则必须使用对数标识来转换碱基.像这样:Log(x)/Log(10).

  • 另外,你指的是1.94593 ......因为*正确答案*暗示它确实是你正在寻找的自然日志?要在公式中执行此操作,请使用= LOG(A2,EXP(1)).这里,EXP(1)给出了e ^ 1 = e = 2.72 ....,自然对数的基数. (2认同)