Google Sheets двойной скрипт проверки данных для одного столбца - PullRequest
1 голос
/ 03 апреля 2019

Я пытаюсь проверить содержимое и ограничить ввод в ячейки одной строки в 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);
}

Ожидаемым результатом будет ввод идентификационного номера в любую ячейку в этой строке и получение уведомления, есличисло не подпадает под правило (эта часть кода работает и результат, как и ожидалось).Получайте уведомления также, когда идентификатор уже существует в указанном диапазоне ячеек (некоторый код отсутствует во второй части, вызывая проблемы).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...