如何在VBA for Excel中获取负数的立方根?

时间:2011-07-14 18:17:18

标签: vba

我正在尝试在VBA for Excel中计算负数的立方根。在Excel工作表中取负数的立方根工作正常:

=(-2)^(1/3)
-1.25992

然而,相同的概念编码到VBA中:

(-2)^(1/3)
将值返回到工作表时,

出现#VALUE!错误。我怀疑VBA正在将1/3解析为其十进制表示0.3333...,因此导致数学错误,因为在实域中负数不能被提升为非整数幂。有解决方法吗?

4 个答案:

答案 0 :(得分:2)

尝试使用POWER()功能:

POWER(-2, 1/3)

答案 1 :(得分:2)

我认为CarlF /你的答案是最好的,但值得一提的是你可以使用Application.Evaluate来返回文字Excel公式的结果:

Range("A1") =  Application.Evaluate("=(-2)^(1/3)")

答案 2 :(得分:0)

对我而言,正如您所述,它不适用于(-2)^(1/3)

但它适用于-2^(1/3)

我不知道为什么会这样。

答案 3 :(得分:0)

如果x是正实数,那么-x的立方根只是x的立方根的否定,即 - (x ^(1/3)。