Google工作表AppScript -返回公式如果单元格如果空白



我正试图想出一个脚本,将这个公式("=iferror(filter(Directors!$ a $3:$ a $55,Directors!D$4:D$56=$A5),)")添加到一个空单元格(让我们考虑单元格的问题是"D6")

我试过下面的脚本,但它会添加公式,即使单元格不是空的。如果我已经在该单元格中写入了一些内容,它将覆盖它并添加公式,但我希望仅在单元格为空白时添加公式。

这是我尝试使用的脚本。

function Week1IFBlankFormulas() { var spreadsheet = SpreadsheetApp.getActive(); spreadsheet.getRange("D6").activate(); spreadsheet.getCurrentCell().setFormula('=iferror(filter(Directors!$A$3:$A$55,Directors!D$4:D$56=$A5),)'); spreadsheet.getActiveRange().autoFill(spreadsheet.getRange("D6"), SpreadsheetApp.AutoFillSeries.DEFAULT_SERIES); if('D6' > 0,""); };

不知道你们需不需要但这张表格的名字是&;Week 1 populated&;

非常感谢任何帮助。谢谢大家!

这个脚本应该为你工作:

function Week1IFBlankFormulas() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange("D6").activate();
if(spreadsheet.getCurrentCell().isBlank()) return;
spreadsheet.getCurrentCell().setFormula('=iferror(filter(Directors!$A$3:$A$55,Directors!D$4:D$56=$A5),)');
spreadsheet.getActiveRange().autoFill(spreadsheet.getRange("D6"),SpreadsheetApp.AutoFillSeries.DEFAULT_SERIES);
};

我刚刚自己测试了一下,它对我有效。您的if语句位于脚本的末尾,并且语法错误,因此无法正确执行。

如果您对此有任何问题请告诉我

基于前面答案中的脚本,但经过测试后,单元格被填满了其中的文本。

我修改了if语句,只允许公式在单元格为空时出现:

function Week1IFBlankFormulas() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange("D6").activate();
if (spreadsheet.getCurrentCell().isBlank()) {
spreadsheet.getCurrentCell().setFormula('=iferror(filter(Directors!$A$3:$A$55,Directors!D$4:D$56=$A5),)');
spreadsheet.getActiveRange().autoFill(spreadsheet.getRange("D6"), SpreadsheetApp.AutoFillSeries.DEFAULT_SERIES);
} else {
return;
}
};

相关内容