【发布时间】:2021-06-10 21:23:25
【问题描述】:
背景
我正在尝试编写一个脚本来检查两个不同的单元格以查看复选框是否已被选中。因此,它将首先检查一个单元格 (AL4) 以查看该值是否为真,然后检查另一个单元格 (Q4) 以查看该值是否为真。如果值为真,那么它将运行不同的函数。
我正在检查的两个单元格都在同一个工作表“仪表板”中,因此它不必查找不同的工作表名称。我通过使用 .getcolumn 和 .getrow 命令使用不同的方法来检查不同的单元格,但我也遇到了一些麻烦。我也遇到了一些问题,它会忽略 if 语句并在每次编辑时运行该函数,而不仅仅是在检查两个单元格时。
如何让 if 和 else if 语句在同一个 onEdit 函数中工作?
当前脚本
function onEdit(e) {
const sheetName = "Dashboard"
var range = e.range;
if (range.getSheet().getSheetName() != sheetName || range.getA1Notation() != "AL4" || !range.isChecked()) {
return;
RefreshCheckmark2();
} else if (range.getSheet().getSheetName() != sheetName || range.getA1Notation() != "Q4" || !range.isChecked()) {
return;
InverseYieldRefresh();
}
}
此外,如果您删除 else if 语句和第一个 If 语句后的括号,上述代码将完全正常运行。
理想情况下,我希望能够添加更多 else if 语句,以便它可以检查更多单元格,因为我喜欢让复选框运行命令,如果我的理解是正确的,那么你不能有多个 onEdit 函数在一个单个电子表格。
感谢您的任何见解!
【问题讨论】:
标签: javascript if-statement google-sheets