javascript - 使用多个 Math.pow 将 Excel 公式转换为 Javascript

标签 javascript excel typescript excel-formula

我在excel中有以下公式:

=B8*((1+((1+B9)^(1/12)-1))^12*(((1+B9)^(1/12))-1))/((1+((1+B9)^(1/12)-1))^12-1)
在哪里:
B8 = 1878
B9 = 17.9%
结果我得到= 170.91
如何将其转换为 javascript?
我尝试使用 Math.pow但我发现这很困难,因为公式很复杂。

最佳答案

计算中有两个主要功能,在您的 Excel 公式中重复了很多。您可以在 Javascript 函数中预先定义它们以简化计算:a : (1 + B9) 的 12 次根,减去 1: Math.pow(1 + B9, 1 / 12) - 1b : (a) 加 1 的 12 次方的值:Math.pow(1 + a, 12)那么你的公式的简化版本是B8 * (a * b) / (b - 1) .
因此,您的功能可以低于 B8x , B9y , 和 ab根据以上:

function foo(x, y) {
  const a = Math.pow(1 + y, 1 / 12) - 1;
  const b = Math.pow(1 + a, 12);
  return x * (a * b) / (b - 1);
}

const answer = foo(1878, 0.179);
console.log(answer);

关于javascript - 使用多个 Math.pow 将 Excel 公式转换为 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66898029/

相关文章:

vba - Excel VBA : how to add data validation list which contain comma included value without using reference of Range

typescript - "npx prisma db seed"命令出现错误 : Command failed with exit code 1: ts-node --compiler-options { "module": "CommonJS"} prisma/seed. ts

javascript - 无法将数据从父组件传递到子组件

javascript - jquery load() 正在复制 div 层而不是重新填充内容

excel - PowerShell - 找到起始行后从 Excel 中删除一系列行

vba - 从 Excel VBA 将页眉/页脚插入新创建的 Word 文档

将 this 作为参数 typescript

javascript - 如何更改 jQuery 中的下拉列表项?

javascript - HTML/Javascript : How do you change input tag with javascript?

javascript - 使用 "value":""创建对象的任何缺点