繁体   English   中英

检查谷歌脚本上的单元格是否为空

[英]Checking if a cell is empty on google scripts

我正在尝试在谷歌表格中制作一个表格,以便如果在 E 列上有一个名称(或任何非空值),它会检查字段的 rest 是否已在 F、G、H 等列上填写。 ..为此,我制作了两个 arrays,一个带有 E 列的值,另一个带有正在检查的行的值。 我遇到的问题是第二次迭代中的 null 条件

var range = R13A.getRange("E7:E15");
var values = range.getValues();

var i = [];
for (var y = 0; y < values.length; y++)
{
    if (values[y]!="" && values[y].toString().trim()!="") //here it checks if a name is there
    {
        i.push(y);
        var valRow = Number(i)+Number(range.getRow());
        var range1 = R13A.getRange("G"+valRow+":T"+valRow);
        var values1 = range1.getValues();
        for (var x=0;x<values1.length;x++)
        {
            SpreadsheetApp.getUi().alert(values1[x]); // this part is just to check what values there are on the cells, it always returns ",,,,,,,," which means the cells actually are empty
            if (values1[x]=="") // And here it should check if on the same row there are any blank cells. **THIS IS THE CONDITION THAT ISN'T BEING MET, WHETHER THE CELL HAS SOMETHING WRITTEN ON IT OR NOT**
            {
                validator = validator+" "+R13A.getRange(String.fromCharCode(7+y)+5).getValue(); //this saves the field names that need to be filled
            }
        }
    }
}

如果我单独而不是在数组中检查单元格的值,它确实有效,我猜这意味着我遇到的问题是我的数据数组。

提前致谢

我试图检查values1[x]的值是多少,经过测试,它似乎返回了一个数组。

由于getValues确实返回一个二维数组,因此您需要将values1[x]作为values1[0][x]访问,因为我们始终确定只有一行并遍历列。

由于您的validator变量现在不起作用,我确实通过打印we have blank cells来简化它。

这是我测试的代码。

  for(var y = 0; y < values.length; y++){
    if (values[y] && values[y].toString().trim()) {
      i.push(y);
      var valRow = Number(y) + Number(range.getRow()); // you used Number(i) here but it should be Number(y)
      var range1 = R13A.getRange("G" + valRow + ":T" + valRow);
      var values1 = range1.getValues();
      for (var x = 0; x < values1[0].length; x++) {               // changed values1 to values1[0] instead
        if (!values1[0][x] && !values1[0][x].toString().trim()) { // changed values1 to values1[0] instead
          Logger.log("we have blank cells");
        }
      }
    }
  }

如您所见,我简化了我的一些检查,您可以随意使用或修改它。

这是样本表:

样品表

涂有红色的单元格为空白(共 8 个)

这是代码的output:

样本输出

正如我们在 output 中看到的,我们能够正确计算它们。

如果您还有其他问题,请随时问我。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM