首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有空行的AutoFill数据-谷歌工作表/谷歌应用脚本

带有空行的AutoFill数据-谷歌工作表/谷歌应用脚本
EN

Stack Overflow用户
提问于 2020-05-14 20:25:13
回答 2查看 78关注 0票数 0

我有下面的电子表格,我想AutoFill的人的名字。问题是名称之间有空行。每个名称都与一个sku2保持一致,并且需要与所有位置保持一致。最多可以有10个空白行(取决于位置的数量)。

如果我可以循环这个,也许

代码语言:javascript
复制
function LoopTillLr() {
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getRange('A2').activate();
  spreadsheet.getActiveRange().autoFillToNeighbor(SpreadsheetApp.AutoFillSeries.DEFAULT_SERIES);
  spreadsheet.getCurrentCell().getNextDataCell(SpreadsheetApp.Direction.DOWN).activate();
};

感谢任何帮助

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-05-14 22:52:40

如果您只想针对变量位置值复制Name值,请使用以下脚本:

代码语言:javascript
复制
function myFunction() {
  var ss = SpreadsheetApp.getActiveSheet();
  var lastRow = ss.getDataRange().getLastRow();

  for (var i = 1; i < lastRow+1; i++) {
    if (ss.getRange(i,1).getValue() == "") {
      var value = ss.getRange(i-1,1).getValue();
      ss.getRange(i,1).setValue(value);
    }
  }
}

确保A2不为空,否则脚本将失败。

票数 1
EN

Stack Overflow用户

发布于 2020-05-15 03:52:35

如果记录很多,可以创建一个函数并运行它。下面的操作将一直持续到工作表的末尾,因此请确保删除靠近末尾的所有不需要的行,或者调整第二行的范围。

代码语言:javascript
复制
function autoFillDown(){
  const range = SpreadsheetApp.getActiveSheet().getRange("A:A");
  const rows = range.getValues();
  let outputArray = [];

  rows.forEach( row => {
    // if it contains a name, leave it
    if( row[0].length > 1){ 
      outputArray.push( [row[0]] )       
    // otherwise replace it with the value above it
    } else {
      outputArray.push( [outputArray[outputArray.length-1]] );
    }    
  });  
  range.setValues( outputArray );
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61797299

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档