谷歌自定义脚本来评估值和分配单元格值



我在让脚本按我希望的方式运行时遇到了问题。我希望它取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"一样。

最新更新