Я попытался создать скрипт, но есть некоторые проблемы. Формат таблицы состоит из 2 столбцов, которые представляют собой дату и значения. Это потребности:
ИДЕАЛЬНОЕ СОСТОЯНИЕ
- Возьмите последнюю заполненную строку (сегодняшнюю дату) в Google Sheets под названием "test".
- Отметьте в этой строке, если значение в столбце F больше 0,5.
- Если оно больше 0,5, вызвать электронное письмо.
- В теле письма должно быть указано «Результаты найдены [дата]».
Это была моя отправная точка, но она не дает того, что я хочу. Вот эти вопросы:
СОВРЕМЕННОЕ СОСТОЯНИЕ
1. Скрипт захватывает каждую строку, в которой столбец F был больше 0,5 в прошлом. Я только хочу проверить на сегодня (который будет последним рядом). Не стоит просматривать все в прошлом.
2. В теле письма указано: «Результат найден в [номер строки]». Это не имеет смысла. Я хочу показать дату, а не номер строки.
Это текущий код. Пожалуйста, помогите.
function readCell() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("test");
var values = sheet.getRange("F3:F").getValues(); //this has the values
var date = sheet.getRange("D3:D").getValues(); // this has the date
var results = [];
for(var i=0;i<values.length;i++){
if(values[i]>=0.5)
{
results.push("Result found on:" +(i+3));
}
}
MailApp.sendEmail('blabla@gmail.com', 'Alert', results.join("\n"));
};
Последней строкой в этом контексте является строка 217, а не 218, при условии, что sheet.getLastRow () будет игнорировать # DIV / o! ценности. Смотрите скриншот для этого.
ПОСЛЕДНИЕ ОБНОВЛЕНИЯ
Текущая ошибка связана с "toDateString". Я думаю, это может быть связано с тем, что мой Google Sheet отстал на один день. Итак, сегодня 10 января, последняя строка в моем Google Sheet - 9 января. Я думаю, именно поэтому ошибка происходит. Можешь подтвердить? В таком случае, как я могу изменить его на сегодня-1 день?
См. Ниже.