首页 > 解决方案 > 如果单元格为空,请向下读取范围并复制公式

问题描述

Google App 脚本的新手,如果单元格为空,则尝试编写副本以复制公式。我有代码来读取范围并返回值。现在我如何编写 if 语句以从最后一行复制单元格,并将公式向下。我附上了代码、日志和电子表格的副本。

function copytime() {
 var activesheet=SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Schedule");
 var lr=activesheet.getLastRow()-1;
 var rangestart=activesheet.getRange(2,10,lr,5)
 var values=rangestart.getValues();

  for (var row in values){
    for (var col in values[row]){
      var rowempty=values[row][col];
    Logger.log(rowempty);
//      if rowempty==""



  }
 }
}

在此处输入图像描述

标签: google-apps-scriptgoogle-sheets

解决方案


尝试这个:

function clearFormulaIfNotEmpty() {
 var sh=SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Schedule");
 var rg=sh.getRange(2,10,sh.getLastRow()-1,5)
 var v=rg.getValues();
 var f=rg.getFormulas();
  for(var i=0;i<v.length;i++) {
    for (var j=0;j<v[i].length;j++) {
      if(v[i][j]) {
        f[i][j]='';
      }
    }
  }
  return f;
}

推荐阅读