Скрипт Google Sheets - Для цикла - дополнительная запись создана? - PullRequest
0 голосов
/ 23 июня 2019

Принимает числовые значения из столбца ячейки C, записывая в столбец A с 1 строкой, добавленной к конечной позиции ячейки.Так 4 становится А5, 26 становится А27.Но я всегда пишу ячейку «А1» и не могу понять, откуда она.Заранее спасибо.

function HGP() {
var sourceSheet = SpreadsheetApp.getActive();
var sourceRange = sourceSheet.getRange('C2:C126');
var sourceRangeData = sourceRange.getValues()
for(var i=0;i<sourceRangeData.length;i++){
      var XX = "A" + (Number(sourceRangeData[i]) +1);
   sourceSheet.getRange(XX)
     .setValue('OK'); 
}
}

1 Ответ

0 голосов
/ 23 июня 2019

Выпуск / Решение:

C2:C126 где-то есть пустая ячейка. Number(sourceRangeData[i])+1 становится 0 + 1 и, таким образом, А1 записывается как «ОК». Вы можете filter пустые строки:

Отрывок:

sourceSheet.getRangeList(
  sourceRange.getValues()
    .filter(String)
    .map(function(e,i){return 'A'+(parseInt(e[0])+1)})
).setValue('OK')

Ссылки:

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