我试图创建两个电子表格:一个跟踪学生在学校的出勤情况,另一个跟踪他们参加Track练习。目标是编写一个功能,我可以将其设置为按钮,我可以单击该功能,如果学生在学校但是没有理由缺席体育运动,则会自动向几个人发送电子邮件。
现在,整个过程非常顺利,但我有一个问题。我有一个专栏将会读到" Good"或者"坏"取决于学生是否符合上述条件。该函数将这些转换为数组。我想使用" Bad"的索引来查找必要的电子邮件地址,这些地址存储在我从电子表格制作的另一个数组中的相同索引点处。我不确定如何保存此索引点并使用它来引用电子邮件地址。代码如下。
function sendEmailsMonday() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("TrackAttendance");
var dataRange = sheet.getRange("D2:D30");
var data = dataRange.getValues();// Gets array of "Good" and "Bad"
for (i in data) {
if(i = "Bad") {
var place = data.indexOf(i);
var dataRange2 = sheet.getRange("M2:M30");// Gets array of email addresses
var data2 = dataRange2.getValues();
var emailAddress = data2[place];
var message = "This is an automated email informing you that your child/advisee ____ was present at school today, but missed Track without being excused. Feel free to email Mr. @ with any questions.";
var subject = "___ missed Track Practice";
MailApp.sendEmail(emailAddress, subject, message);
return;
}
}
}
因此,问题在于索引线。如果我摆脱
var place = data.indexOf(i);
并替换
var emailAddress = data[place];
带
var emailAddress = data[28];
或任何其他号码,它将获取电子邮件地址并发送。但是它与另一列中的值无关。
似乎这应该是一个简单的解决办法,但我对此不好。
答案 0 :(得分:0)
现在很晚才回应。我想你差不多了。
您的IF语句应为:
if(i == "Bad") {
然后替换' place'与我:
var emailAddress = data2[i];
它应该按预期工作。