如何获得与B列中第一个空单元格相邻的A列的值?

时间:2019-10-22 20:25:55

标签: google-apps-script

我正在使用此脚本在“信息”表的A列中查找包含数据的最后一行,然后在“数据输入”表的B3单元格中显示此值加1。效果很好,您可以查看示例表here

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列中找到第一个空单元格,然后在数据输入表的B3单元中显示其相邻单元格A的值?

1 个答案:

答案 0 :(得分:2)

将其集成到您的代码中

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
}