Google apps script 跟踪输入到空行
我有一个电子表格,列出了我们公司的客户(A21:A250是格式化的,但目前只有A21:A106有数据)。我想做的是在下一个空行中输入一个条目时统计新客户的数量。我试过几种不同的方法,但都没用。这是我一直在做的 我在表格中尝试过公式(如果不是空白的话)。这就像它应该做的那样,但问题是我需要按月捕获新客户(连续数月后的列)。我创建了另一个电子表格,它有一个按钮,我每个月点击一次以导入数据,从而捕获当天的数据Google apps script 跟踪输入到空行,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我有一个电子表格,列出了我们公司的客户(A21:A250是格式化的,但目前只有A21:A106有数据)。我想做的是在下一个空行中输入一个条目时统计新客户的数量。我试过几种不同的方法,但都没用。这是我一直在做的 我在表格中尝试过公式(如果不是空白的话)。这就像它应该做的那样,但问题是我需要按月捕获新客户(连续数月后的列)。我创建了另一个电子表格,它有一个按钮,我每个月点击一次以导入数据,从而捕获当天的数据 function newCustomers() { ss = SpreadsheetAp
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)
}
函数newCustomers(){
ss=电子表格应用程序。getActiveSpreadsheet();
sourceSheet=ss.getSheetByName('BACKLOG');
var lrow=sourceSheet.getLastRow();
var range=sourceSheet.getRange(21,1,lrow,1);
var data=range.getValues();
var countNew=0;
对于(var i=0;i尝试以下方法:
function newCustomers() {
var ss=SpreadsheetApp.getActive();
var srcsh=ss.getSheetByName('BACKLOG');
var startrow=21;
var rg=srcsh.getRange(startrow, 1, srcsh.getLastRow()-startrow + 1, 1);
var dA=rg.getValues();
var count=0;
for (var i=0;i<dA.length;i++) {
if(dA[i][0] && dA[i][0].length>0) {
count++;
}
}
var html=Utilities.formatString('Count: %s', count);
SpreadsheetApp.getUi().showModelessDialog(HtmlService.createHtmlOutput(html),'Count');
}
函数newCustomers(){
var ss=SpreadsheetApp.getActive();
var srcsh=ss.getSheetByName('BACKLOG');
var startrow=21;
var rg=srcsh.getRange(startrow,1,srcsh.getLastRow()-startrow+1,1);
var dA=rg.getValues();
var计数=0;
对于(var i=0;i0){
计数++;
}
}
var html=Utilities.formatString('计数:%s',计数);
SpreadsheetApp.getUi().showModelessDialog(HtmlService.createHtmlOutput(html),'Count');
}
“
不严格等于null
。空单元格被读取为”
(当前返回“
”公式的单元格也是如此)。因此,因为没有一个获得的单元格值是完全null
,所以报告的结果是250。当然,谢谢!我知道我只是错过了一些简单的东西。我感觉它就在我的脑海里。我上面的代码很有效,但我更喜欢你的代码。不过,我只是想到了一件事,我设置它的方式并不真实请将当前数字与前一个数字进行比较,以便如果我在1月份添加新客户,那么在2月份运行脚本时,它将再次计数。在我现在使用的脚本中,我从变量newCustomers(仅在1月份有效)中减去86(1月1日的客户数).处理这个问题的最佳方法是什么?我可以设置另一个等于newCustomer的变量来比较下个月吗?你有没有另一列记录他们成为客户的日期?我有一列,F,记录他们成为客户的1周年纪念日。我会看看我能做些什么!获取从该日期到的月份制作您的报告新日期(dA[i][?])。getMonth()