您如何在Google Apps脚本函数中使用isBlank()?

function pushGeo()
{
var ssA = SpreadsheetApp.openById('###')
var ss = ssA.getSheetByName('mySheet');
var lastRow = ss.getLastRow();
  var data = ss.getRange('G2:G'+lastRow);
  for(var row=2;row<=lastRow;row++)
  {
    ss.getRange('G'+row+':G'+row).isblank(); // not working
    if(isblank(data),'0','G'+row); // not working
  }
}


我想检查列“ G”中是否有空白单元格。如果单元格为空,我想将其值设置为“ 0”。最终,我想获取刚刚检查为空单元格的列“ G”,并将其与另一列“ N”进行比较。如果列“ G”中的行不为空(现在值为“ 0”),则将列“ G”的值推入列“ N”中。想要将空单元格更改为“ 0”,以便我可以更好地“查看”代码,更轻松地进行比较等。

最佳答案

如果工作表中包含大量数据,则可能需要考虑以这种方式进行处理,因为它只需一次即可获取和设置所有数据,因此运行速度更快。

function ifGIsBlankThenMakeItZero()
{
  var ssA = SpreadsheetApp.getActive();//changed from openById() for my convenience
  var ss = ssA.getActiveSheet();//change from getSheetByName() for my convenience
  var lastRow = ss.getLastRow();
  var range = ss.getRange(2,7,lastRow,1);//row 2 column 7 (G) lastRow 1 column
  var data = range.getValues();//Gets all data
  for(var i=0;i<data.length;i++)//this runs over entire selected range
  {
    if(!data[i][0])//If true then it's blank
    {
      data[i][0]=0;//notice this is data[i][0] because there is only one column in the range.
    }
  }
  range.setValues(data);//Sets all data.
}

关于javascript - 在Google Apps脚本中使用isBlank()标记列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46131223/

10-11 13:08