将excel公式转换为JavaScript

converting excel formula to JavaScript

本文关键字:JavaScript 转换 excel      更新时间:2023-09-26

问题:当我运行代码时,我没有得到任何错误,但我得到了一个不同的和,我不知道为什么?我能收集到的最好的结果是函数在点上,直到它到达第一个Math.pow。一旦它通过它的和,它就不一样了,知道为什么吗?有更好的方法吗?

Excel公式

=0.25 / (    LOG(
        $I$6 / 3.7 + 5.74 / G18 ^ 0.9
    ) ) ^ 2 

Sum of excel formula is 0.0186

我的JavaScript

var test = function() {
  var num = 0.00006 / 3.7;
  var num2 = Math.pow(90068.45754973275, 0.9);
  var num3 = 5.74 / num2;
  var num4 = num + num3;
  var num5 = Math.log(num4);
  var num6 = Math.pow(num5, 2);
  var num7 = 0.25 / num6;
  return +num7.toFixed(4);
};

Before .toFixed(4) sum is 0.0035080344556698015
After sum is 0.0035

提前感谢!

JavaScript LOG是自然对数(所以以e为底),Excel的LOG函数是以10为底的对数。

Num3错误。应该反转:

var num3 = 5.74 / num2;

num4也应该是num+num3:

var num4 = num + num3

如果有人感兴趣,答案是Math.log10();