Я пытаюсь проверить содержимое и ограничить ввод в ячейки одной строки в Google Sheets с помощью скрипта.Ячейки должны быть числами от 100000 до 999999, и содержимое не может быть продублировано.Если ввод дублируется, сообщение сообщит пользователю о дубликате.Если номер не состоит из шести цифр согласно правилу, пользователь будет уведомлен с сообщением.
Я пробовал Google Data Validation, но я ограничен одной пользовательской командой (насколько я знаю).Также пробовал условное форматирование, но, не получив желаемого результата с уведомлением пользователя, я только выделяю дублированную ячейку.И, наконец, комбинация из двух, которая может работать, но это не мой желаемый результат.
function validateMySpreadsheet() {
// Rule for the cells to be a number between 100000 and 999999.
var cell = SpreadsheetApp.getActive().getRange('A2:A1000');
var rule = SpreadsheetApp.newDataValidation()
.requireNumberBetween(100000, 999999)
.setAllowInvalid(false)
.setHelpText('Enter a number between 100-000 and 999-999.')
.build();
// Rule to check for duplicates and deny input if TRUE
var duplicate = SpreadsheetApp.newDataValidation()
//Code missing HERE to check for duplicates in "cell"
.setAllowInvalid(false)
.setHelpText('Number entered already exists.')
.build();
cell.setDataValidation(rule);
cell.setDataValidation(duplicate);
}
Ожидаемым результатом будет ввод идентификационного номера в любую ячейку в этой строке и получение уведомления, есличисло не подпадает под правило (эта часть кода работает и результат, как и ожидалось).Получайте уведомления также, когда идентификатор уже существует в указанном диапазоне ячеек (некоторый код отсутствует во второй части, вызывая проблемы).