Javascript 谷歌自定义脚本来计算值和分配单元格值

Javascript 谷歌自定义脚本来计算值和分配单元格值,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,我很难让我的脚本按我希望的方式运行。我希望它做的是取3个值,根据几个参数对它们求值,然后根据求值结果将一个值传递到特定的单元格中。到目前为止,我有这个 function myFunction() { var f = SpreadsheetApp.getActiveSheet().getRange("B$8"); var l = SpreadsheetApp.getActiveSheet().getRange("B$14"); var m = SpreadsheetApp.getAct

我很难让我的脚本按我希望的方式运行。我希望它做的是取3个值,根据几个参数对它们求值,然后根据求值结果将一个值传递到特定的单元格中。到目前为止,我有这个

function myFunction() {
  var f = SpreadsheetApp.getActiveSheet().getRange("B$8");
  var l = SpreadsheetApp.getActiveSheet().getRange("B$14");
  var m = SpreadsheetApp.getActiveSheet().getRange("B$20");

  if(f >= 1 && l >= 1 && m >= 1) {
    SpreadsheetApp.getActiveSheet().getRange('B$49').setValue('0');
  } else if (f >= 2) {
    SpreadsheetApp.getActiveSheet().getRange('B$49').setValue('0');
  } else if (f == 1 && l == 0 && m == 0) {
    SpreadsheetApp.getActiveSheet().getRange('B$49').setValue('1');
  } else if (f == 0 && l  >=1 && m >= 1) {
    SpreadsheetApp.getActiveSheet().getRange('B$49').setValue('2');
  } else if (f == 0 && l+m <= 4) {
    SpreadsheetApp.getActiveSheet().getRange('B$49').setValue('3');
  } else if (f == 0 && l == 0 && m <=4) {
    SpreadsheetApp.getActiveSheet().getRange('B$49').setValue('4');
  } else if (f == 0 && i == 0 && m == 0) {
    SpreadsheetApp.getActiveSheet().getRange('B$49').setValue('5');
  } else {
    SpreadsheetApp.getUi().alert('There has been an error, please rate manually');
  }
}
无论在单元格B8、B14或B20中有什么值,我都会收到错误消息

我还希望它能够在多个列中运行,而行在范围中保持不变,例如“$”。虽然我不确定我做的是否正确


如果有人能看一下我的代码,解释一下我做错了什么,并帮助我了解如何修复它,我们将不胜感激。

在获取数据的行中,您需要添加.getValue,如下所示:

SpreadsheetApp.getActiveSheet().getRange("B$8").getValue()
您在以下方面有输入错误:

else if (f == 0 && i == 0 && m == 0)
我相信我应该是l


此外,请检查逻辑中的值“3”。就好像你永远也到不了“4”或“5”。

谢谢你的帮助。我希望我错过了一些简单的事情。谢谢你抓到了打字错误,希望我最终能找到。我理解你所说的关于值“3”的逻辑,我明白为什么这是一个问题。但是我想不出一个办法来解决它。我想是时候做更多的研究了。所以我发现了我逻辑上的缺陷,并修复了它们。在这样做的过程中,我意识到他们给我编程的逻辑有一个缺陷,所以它又回到了绘图板上。非常感谢您的帮助,很抱歉这是一个如此简单的解决方案。如果您能更好地解释您正在尝试做什么,我将乐意提供帮助。分享一个电子表格的例子会很有帮助。我尝试选取三个值-[f]总体、[l]大部分时间伤害和[m]医疗援助伤害-并将它们分为以下6个不同类别进行评估:;0-每种类型的事故超过1起或死亡人数超过2起| 1-死亡人数超过1起但无其他事故| 2-无死亡人数和每种其他类别的事故超过1起| 3-无死亡人数和其他类别的事故总数少于5起| 4-无死亡人数和损失时间事故以及少于5起医疗救助| 5-任何类别的事故类别就我所知,图2和图3不可能单独进行评估。