簡體   English   中英

如何檢查Google表格數組中單元格中的值?

[英]How can I check a value in a cell in an array Google Sheets?

我想計算在定義的數組/范圍中出現多少個Y和N:

單元格范圍: D4:D42

function myFunction() {
 var count = SpreadsheetApp.getActiveSheet().getRange(5, 3, 40, 1);
 var numRows = count.getNumRows();
 var numCols = count.getNumColumns();
 var y = 0;
 var n = 0;

 for (var i = 1; i <= numRows; i++) {
  for (var j = 1; j <= numCols; j++) {
   var currentValue = count.getCell(i, j).getValue();
   if (currentValue = "y") {
    y = y + 1;
   } else if (currentValue = "n") {
    n = n + 1;
   }
  }
 }
 Browser.msgBox("There are " + y + " paid & " + n + " not paid");
}

這將返回40 Y和0 N

不知道我在這里做錯了什么,但我認為這很簡單!

問題在這一行:

if (currentValue = "y") {

您正在將“ y”分配給currentValue。 要實際檢查是否相等,應嘗試使用“ ===”運算符。 試試看,看看是否能解決您的問題:

function myFunction() {
    var count = SpreadsheetApp.getActiveSheet().getRange(5, 4, 39, 1);
    var numRows = count.getNumRows();
    var numCols = count.getNumColumns();
    var y = 0;
    var n = 0;

    for (var i = 1; i <= numRows; i++) {
        for (var j = 1; j <= numCols; j++) {
            var currentValue = count.getCell(i, j).getValue();
            if (currentValue === "y") {
                y = y + 1;
            } else if (currentValue === "n") {
                n = n + 1;
            }
        }
    }
    Browser.msgBox("There are " + y + " paid & " + n + " not paid");
}

我還更新了getRange()參數以匹配D4:D42。 在您的代碼中,它們匹配了C5:C44。 請參閱getRange()函數文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM