循环进入Google App脚本以检索数据

时间:2019-10-21 20:18:16

标签: google-apps-script google-sheets

我使用插件(Supermetrics)检索Google电子表格中的每小时转化率数据。

![Supermetrics

每小时之后,它将转化率添加到正确的行(在屏幕截图中,它将转化率添加到15)。

我已经修改了现有脚本,以便在网站上的转换率下降时通过电子邮件发送警报。

问题是,我的脚本针对的是静态单元格(B3),但我希望将其循环播放,以便它可以每小时获取一次转换率:

15,然后 然后16 17,等等。

代码如下:

function ConvRateChecker() {
// Fetch hourly conversion rate
var conversionRateRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("MyReport").getRange("B3"); 
var conversionRate = conversionRateRange.getValue();

// Check conversion rate
if (conversionRate < 0.80){

// Fetch the email address
var emailRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1").getRange("B2:B8");
var emailAddress = emailRange.getValues();

// Send Alert using e-mail in HTML
var options = {}
options.htmlBody = 'Hi everyone,<br /> <br />The conversion rate on XXXXX <font color="red">dropped to ' + conversionRate + '%' + '</font> ' + 'at ' + timeDay + ':00.' + '<br /> <br />Please check your <a href=\"https://analytics.google.com/analytics/web/#/report-home/">Google Analytics</a> account as soon as possible.';
var subject = '(WARNING) Conversion Rate Dropped';
MailApp.sendEmail(emailAddress, subject, '', options);
}
}

1 个答案:

答案 0 :(得分:0)

如果您仍在寻找Apps Script解决方案来查找所需方向上一致数据范围的最后一个单元,请使用getNextDataCell()

示例:

var conversionRateRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("MyReport").getRange("B26").getNextDataCell(SpreadsheetApp.Direction.UP); 
var conversionRate = conversionRateRange.getValue();