Я написал пользовательскую функцию в ячейке для того, чтобы иметь указанный список проверки данных, только если данная ячейка не пуста.Вот эта функция:
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"]);
}
Однако, когда я вызываю функцию как пользовательскую функцию в ячейке, я постоянно получаю
«Ошибка разбора формулы».
Я уже исключил синтаксис в качестве возможной причины;вызов функции в моей тестовой функции точно такой же, как когда я вызываю ее в пользовательской функции внутри ячейки.Сохраните, конечно, знак равенства перед вызовом функции, чтобы указать, что это функция, которую нужно запустить.Я также знаю, что функция распознается по листам;не существует "Функция не существует" или "# ИМЯ?"ошибка при вызове функции внутри ячейки.
Как мне решить эту проблему?