我写了下面的公式:=SUMPRODUCT((F15='Входящие SPLIT'!$S$2:$S)*('Входящие SPLIT'!$A$2:$A>=$D$14)*('Входящие SPLIT'!$A$2:$A<=$E$14)*('Входящие SPLIT'!$R$2:$R)),计算一列中对应几个条件的值的总和。其中两个是“date from”和“date to”(句点):('Входящие SPLIT'!$A$2:$A>=$D$14)*('Входящие SPLIT'!$A$2:$A<=$E$14)一切都会好起来的,但只有“date to”($E$14),在计算中不考虑在此单元格中设置的日期. 比如设置范围:01/01/2020-01/10/2020,那么对于01/10的数据在计算中是不考虑的,也就是说,其实计算的范围是从01 /01/2020-01/09/2020 包括在内。我试图重新排列条件等等,xs没有变化。事实证明 ">=" 运算符在第一个条件下正常工作,但在第二个条件下不能正常工作????也许是一个错误?告诉我,伙计们。
主页
/
user-407041
Артур Петров's questions
大家好。我的脚本将来自标记文件夹的邮件中的“未读”传入消息解析为 Google 电子表格,然后将其标记为“已读”。但有时会出现故障:脚本被执行,将字母标记为“已读”,但不写入表。也就是说,事实上,记录器中有一条记录,其中包含这些字母的所有内容,但它们并没有写入表中。理论上,您需要检查数据是否已写入表中,然后才将字母标记为“已读”。或者代码中存在周期性的错误(HZ)。各位大侠帮忙,我在学习。
function GmailmarkReadEnd() {
//this is just the stuff that recognizes what spreadsheet you're in
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheets = ss.getSheets();
var sheet = ss.getSheetByName('Лист2'); //gets the right sheet(указать название листа для записи)
/* searches your GMail for emails matching things "label:unread" + " label:support"
(support-это название папки в которую собираются письма) */
var query = "label:unread" + " label:support";
var threads = GmailApp.search(query);
var supportStats = [];
for (var i = 0; i < threads.length; i++) {
var messages = threads[i].getMessages();
for (var m = 0; m < messages.length; m++) {
var from = messages[m].getFrom(); //from field
var to = messages[m].getTo(); //to field
var time = messages[m].getDate(); //date field
var subject = messages[m].getSubject(); //subject field
var body = messages[m].getPlainBody(); //body field(заменить на getBody для html)
var mId = messages[m].getId(); //id field to create the link later
if (query === "label:unread" + " label:support") {
supportStats.push([from,to,time,subject,body,'https://mail.google.com/mail/u/0/#inbox/'+mId]);
Logger.log(supportStats) // Лог про который говорил.
}
}
}
if(!threads.length) return; // если нет непрочитанных - ничего не делать.
sheet.getRange(SpreadsheetApp.getActiveSheet().getLastRow()+1,2,supportStats.
length,supportStats[0].length).setValues(supportStats); //writes to the spreadsheet(записывает в электронную таблицу)
GmailApp.markThreadsRead(threads); // помечает, как прочитанное
// ***Сортировка записанных данных по дате***
sheet.getRange('D:D').activate();
sheet.sort(4, false);
}