Как я могу получить значение столбца A рядом с первой пустой ячейкой в ​​столбце B? - PullRequest
1 голос
/ 22 октября 2019

Я использую этот скрипт, чтобы найти последнюю строку, содержащую данные в столбце A на информационном листе, а затем отобразить это значение плюс 1 в ячейке B3 на листе ввода данных. Это прекрасно работает, вы можете увидеть пример листа здесь .

function AUTOFILL() {
  var sheet1 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Info');
  var sheet2 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Data Entry');
  var valueOfData = sheet1.getRange(sheet1.getLastRow(), 1).getValue();
  sheet2.getRange('B3').setValue(valueOfData + 1);
}

Какой самый эффективный способ изменить это, чтобы он нашел первую пустую ячейку в столбце B наВ информационном листе вместо этого отображается значение соседней ячейки A в ячейке B3 на листе ввода данных?

1 Ответ

2 голосов
/ 22 октября 2019

Интеграция в ваш код:

function valueNextToFirstEmptyCellInColumnB() {
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getActiveSheet();
  var rg=sh.getRange(2,1,sh.getLastRow()-1,2);
  var vA=rg.getValues();
  for(var i=0;i<vA.length;i++) {
    if(!vA[i][1] && vA[i][1].toString().length==0) {
      //Logger.log(vA[i][0]);
      return vA[i][0];
    }
  }
  return sh.getRange(sh.getLastRow(),1).getValue()+1;
}

function AUTOFILL() {
  var sheet1 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Info');
  var sheet2 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Data Entry');
  var valueOfData = valueNextToFirstEmptyCellInColumnB();
  sheet2.getRange('B3').setValue(valueOfData);//was adding 1 twice
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...