为什么Excel不计算立方根作为立方根?

Why is Excel not calculating the cube root as the cube root?

我怀疑 Excel 正在计算以分数表示的重复小数(例如 1/3)与没有重复小数的指数(例如 1/2)不同的指数。它阻止了我在数字列表中找到完美立方体的公式。

A 列列出了 1 到 100 的数字。

B 列具有以下公式(从第 5 行开始):

=IF($A5^(1/2)-ROUND($A5^(1/2),0)=0,1,0)

如果 A 列中的数字是一个完美的正方形,如 1、4、9 等,并且这样做正确,则这应该 return“1”。我最初写的这个其他公式也有效:=IF(SQRT($A8)-ROUND(SQRT($A8),0)=0,1,0).

C 列具有以下公式(从第 5 行开始):

=IF($A5^(1/3)-ROUND($A5^(1/3),0)=0,1,0)

请注意,它与完全平方识别公式完全相同,只是在有 2 的地方有一个 3。这是 不是 returning a “1”表示完美的立方体,例如 8、27、64 等(但 return 表示数字 1 的“1”)。

谁能帮我改正这个问题?

很抱歉不知道如何选择评论作为答案,所以我汇总了有用的评论并将它们作为答案发布。

主要说明: 参见 Floating-point arithmetic may give inaccurate results in Excel。如果您检查底层的 xml,您会看到 Excel 计算 A1^(1/3) 为 1.9999999999999998。文章解释了原因,并提出了一些解决方法。 – 罗恩·罗森菲尔德

我选择的解决方法: 你不能用 $A5 - ROUND($A5^(1/3))^3? 替换 $A5^(1/3)-ROUND($A5^(1/3) – r3mainer

谢谢大家!