【发布时间】:2019-04-27 18:10:42
【问题描述】:
我编写了一个自定义单元格内函数,仅当给定单元格不为空时才具有指定的数据验证列表。这是那个函数:
function CONDITIONALVALIDATION(sheetName,cellToCheckA1,validationCell,validationItems){
var ss = SpreadsheetApp.getActive();
var sheet = ss.getSheetByName(sheetName);
var cellValue = sheet.getRange(cellToCheckA1).getValue();
var cellToSet = sheet.getRange(validationCell);
cellToSet.clearDataValidations();
if(cellValue!=""){
var unitsRule = SpreadsheetApp.newDataValidation().requireValueInList(validationItems, true);
cellToSet.setDataValidation(unitsRule)
}
}
当我调用一个填充 CONDITIONALVALIDATION 函数参数的测试函数并在编辑器中运行它时,我看到了所需的结果。该函数如下:
function testconditional(){
CONDITIONALVALIDATION("Front End","E12","F12",["x","y"]);
}
但是,当我将该函数作为自定义单元内函数调用时,我不断得到一个
“公式解析错误。”
我已经排除了语法是可能的原因;在我的测试函数中对该函数的调用与我在自定义单元内函数中调用它时完全相同。当然,在函数调用之前保存等号以表明它是要运行的函数。我也知道该功能是由工作表识别的;没有“功能不存在”或“#NAME?”在单元格内调用函数时出错。
我该如何解决这个问题?
【问题讨论】:
标签: google-apps-script google-sheets google-sheets-formula custom-function