【发布时间】:2019-02-12 19:24:38
【问题描述】:
我有一个列出我们公司客户的电子表格(A21:A250 已格式化,但目前只有 A21:A106 有数据)。我想做的是在进入下一个空白行时计算新客户。我尝试了几种不同的方法,但无济于事。这是我一直在做的事情。
我已经尝试过工作表本身的公式(COUNTIF 不是空白)。这就像它应该的那样,但问题是我需要按月捕获新客户(A 之后的列数月)。我创建了另一个电子表格,其中有一个按钮,我每月单击一次以导入数据,从而捕获当天的这些数字。
function newCustomers() {
ss = SpreadsheetApp.getActiveSpreadsheet();
sourceSheet = ss.getSheetByName('BACKLOG');
var lrow = sourceSheet.getLastRow();
var range = sourceSheet.getRange(21, 1, lrow, 1);
var data = range.getValues();
var countNew = 0;
for (var i=0; i<data.length; i++) {
if (data[i][0] !== null) {
countNew++
}
}
Logger.log('New Customers' + countNew)
}
上述代码有效,但每次运行时都会在日志中报告 250(范围中的最后一个空白列)。如何将其更改为仅计算 A 列中没有输入数据的单元格?
【问题讨论】:
-
""不严格等于null。空单元格被读取为""(与当前返回""的公式的单元格一样)。因此,由于获取的单元格值都不完全是null,因此您将得到 250 作为报告的结尾。 -
当然,谢谢!我知道我只是错过了一些简单的东西。我觉得它就在我的脑海里。
标签: google-apps-script google-sheets