if-statement - Google App Script IF 函数仅检查一行,并将结果应用于所有行
问题描述
我似乎在某个地方出错了。
我正在编写一个脚本,如果 Google 表格单元格变为“是”,它将自动发送提醒电子邮件。
问题是我的脚本似乎将其读取为:如果第二行有“是”,它将对所有行返回 true 并向所有人发送电子邮件,而不管其他行说“是”或“否”。如果任何其他行有一个是,那么它似乎被完全忽略了。
定义要检查的范围:
//looping through all of the rows
for (var i = 0; i < data.length; ++i) {
var row = data[i];
// Creating where the if statement is check
var ss = SpreadsheetApp.getActiveSheet();
var thisQuarter = ss.getRange("H2:H50").getValue();
要检查的 IF 语句:
// checking for this quarter
if (
thisQuarter == "Yes") {
var subject =
'Your BCP is due to expire this quarter: ';
MailApp.sendEmail(emailAddress, subject, message,);
Logger.log('this quarter');
}
}
}
如果有人能给我一些关于我哪里出错的指示,那将不胜感激。
谢谢,
解决方案
理想情况下,仅发布工作表的视图副本。我相信问题出在这段代码上:
// checking for this quarter
if (
thisQuarter == "Yes") {
var subject =
'Your BCP is due to expire this quarter: ';
MailApp.sendEmail(emailAddress, subject, message,);
Logger.log('this quarter');
}
thisQuarter 分配在这里:
var thisQuarter = ss.getRange("H2:H50").getValue();
将该行更改为:
var thisQuarter = ss.getRange("H2:H50").getValues();
所以 thisQuarter 是指定范围内的值数组
将 if 语句更改为此,看看它是否有帮助:
for (i = 0; i < thisQuarter.length; i++) {
if (thisQuarter[i][0] == "Yes" {
// send email
}
}
推荐阅读
- python - 烧瓶 heroku noModuleNamed 'flask_login'
- python - 具有平方特征的 Pytorch 线性回归
- html - 为什么导航栏导航链接不在属性之间的弹性框空间的中心
- python - 如何迭代数据集中的行以进行距离计算
- python - 通过将逗号分隔的列的值替换为基于另一个数据框的查找来创建新列
- python - 计算熊猫数据帧中每单位时间的发生率
- prolog - Prolog 协程是否有解决方案的概念并因此具有确定性?
- javascript - 仅推送数组 javscript 中的唯一元素
- reactjs - 如何在 Next.js 生产优化构建中保留函数名称?(性能分析目的)
- sql - PostgreSQL 中的首次付款违约和迟到天数