看看getValues()是不是全无值

See if getValues() is all no value

我有大量的细胞,我需要看看它们是否没有价值。我知道我可以使用 isBlank,但单元格中有公式,所以 isBlank returns false。有没有办法快速检查单元格数组是否没有值?

function mp4fix(){
var sheet = SpreadsheetApp.getActive();
//hide rows automatically
//var c will be a for loop eventually
var c = 80;
var accomm = sheet.getSheetByName("MP4").getRange(c,1,20,1).isBlank();
var academ = sheet.getSheetByName("MP4").getRange(c+22,1,2,1).isBlank();
var behavi = sheet.getSheetByName("MP4").getRange(c+25,1,2,1).isBlank();
if(accomm=="true" && academ=="true" && behavi=="true"){
    sheet.getSheetByName("MP4").hideRows(c-5,31);
  }
}

这些单元格中有参考公式(即 ='MP3'!A80),因此 isBlank 返回错误,即使公式未返回任何值。

这样试试:

function mp4fix() {
  const ss = SpreadsheetApp.getActive();
  const sh = ss.getSheetByName("MP4");
  var c = 80;
  var accomm = sh.getRange(c, 1, 20, 1).isBlank();
  var academ = sh.getRange(c + 22, 1, 2, 1).isBlank();
  var behavi = sh.getRange(c + 25, 1, 2, 1).isBlank();
  if (accomm && academ && behavi) {
    sh.hideRows(c - 5, 31);
  }
}

“true”和“false”是字符串,true 和 false 是布尔值