如何检查数组Google表格中单元格中的值?
问题描述:
我要计算有多少个Y & N为出现在定义的数组/区间:如何检查数组Google表格中单元格中的值?
单元格区域: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岁的和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() function documentation。
+0
谢谢,正是我需要的。 我知道这是明显的。我知道参数已关闭,我发布代码后意识到 - 我将其调整为我自己的:-) – SCramphorn
这与Excel无关,我已经移除了标签。请在添加标签之前阅读说明,因为这是建议的。 –