1

我写了一个宏,作为一个小任务,它还计算了大约 39000 个不同值的平均值。我注意到使用 WorksheetFunction.Average 并“逐步”计算平均值会产生不同的结果,但仅在小数点后的第 15 位。通过“逐步”计算,我的意思是将每个值加到一个 total_sum 变量中,计算另一个变量中值的数量,然后将前者除以后者。小数点后的第 15 位可能被认为可以忽略不计,但我仍然觉得它令人不安。这两个值不应该完全相同吗?它们是当我使用较少的值并且宏可能应用于远远超过 39000 (100k+) 的值时,我担心错误可能会增加。

所以我的问题是:什么可能导致差异,更重要的是哪种方法更精确?

我尝试将“逐步”计算中的所有变量声明为 Variant,以避免在任何这些步骤中使用错误的数据类型。

非常感谢您的帮助!

4

0 回答 0