Автозаполнение ID в Google Таблицах

31 июля 2017

Бывают случаи когда при заполнении Google Таблицы нужно заполнять ID конкретной строки, например при создании файла импорта на сайте.

Например так:

Для это нужно выполнять несколько шагов.

1 Шаг. Создание скрипта. Для этого переходим в Инструменты -> Редактор скриптов...

Вас перебросит на страницу где необходимо создать скрипт.

Где:

Строка 3 - AUTOINC_COLUMN — Колонка для обработки

Строка 4 - HEADER_ROW_COUNT — Сколько строк нужно пропустить, начиная с верхней

Строка 7 - worksheet — Название нашей вкладки в таблице

2 Шаг. Вставить код ниже

function myFunction() {

  var AUTOINC_COLUMN = 0;
  var HEADER_ROW_COUNT = 1;
  
  var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  var worksheet   = spreadsheet.getSheetByName("Sheet1");
  var rows        = worksheet.getDataRange().getNumRows();
  var vals        = worksheet.getSheetValues(1, 1, rows+1, 2);
  
  for (var row = HEADER_ROW_COUNT; row < vals.length; row++) {
    try {
      var id = vals[row][AUTOINC_COLUMN];
      Logger.log(id);Logger.log((""+id).length ===0);
      if ((""+id).length === 0) {
        // Here the columns & rows are 1-indexed
        worksheet.getRange(row+1, AUTOINC_COLUMN+1).setValue(row);
      }
    } catch(ex) {
      // Keep calm and carry on
    }
  }
}

Сохраняем.

3 Шаг. Нажимаем кнопку запуска и даем доступ к нашим таблицам.

4 Шаг. Настраиваем событие

Готово. Теперь все работает как нужно.