Каждым запуск скрипта добавляет 5 новых строк в конце таблицы и считает пустые поля

Рейтинг: 0Ответов: 1Опубликовано: 19.03.2023

Был написан код нижеуказанный и все правильно считает, но при каждом запуске скрипта добавляет 5 новых строк где также указывает цифру 1, подскажите, где в коде есть проблема? введите сюда описание изображения

function NN() {
  
let ss = SpreadsheetApp.getActiveSpreadsheet();
let sheet = ss.getSheetByName("НН");
let lr = sheet.getLastRow();
let range = sheet.getRange(6,13,lr,3).setNumberFormat('#,##0.00').getValues();

let newarr = range.map(calculation);


function calculation (row) {
const [item1, item2, item3] = row

  if(item3 ==='ЛатАм')
  return [item2-item1]; return [item2-item1+1];
}

let setvalues = sheet.getRange(6,9,newarr.length).setValues(newarr).setHorizontalAlignment('center');

sheet.getRange(6,1,newarr.length).setNumberFormat('dd.MM.yyyy');
sheet.getRange(6,6,newarr.length,2).setHorizontalAlignment('center');

//console.log(range);

}```

Ответы

▲ 0Принят

Вы должны взять не последнюю строку, а число строк между последней и начальной, т.е. lr - 6 + 1

Должно быть примерно так let range = sheet.getRange(6, 13, lr - 6 + 1, 3)