我在一张表中有一些表格,我需要制作脚本来每天发送一封电子邮件。它今天搜索的脚本日期,将它匹配到我的表中并返回列号,然后我在第一列(A)上查找Total,一旦找到它,返回行号。一旦我有行号和列号,返回当天的总价值。我没有使用JavaScript进行高级编程,我仍在为数组挣扎(仍在学习)。到目前为止,我所用的脚本工作得很好,只要我在该表上只有一个表格,但在表格上将会有超过50个表格,每个表格最后都会有一个Total。公式我会找到总计,但会返回所有总计(行号)作为字符串。我需要的是获得第一个总数(行号)。我希望这一切都有道理。返回的行号是匹配错误
我重视的图像,使一个想法,我的剧本我到目前为止有:
function getTodaysTotal() {
function toDateFormat(date) {
try {return date.setHours(0,0,0,0);}
catch(e) {return;}
}
var values = SpreadsheetApp
.openById("ID")
.getSheetByName("Q3 - W27 - 39")
.getDataRange()
.getValues();
for (i in values){
if (values[i][0]=='Total'){
var nr = i;
Logger.log(nr); // will return two values (41 - first total and
104 second total ... if you add more Total it will return all rows
numbers that contain word Total
}
}
var today = toDateFormat(new Date());
var todaysColumn =
values[5].map(toDateFormat).map(Number).indexOf(+today);
var output = values[nr][todaysColumn];
// Logger.log(output);
var emailDate = Utilities.formatDate(new Date(today),"GMT+1",
"dd/MM/yyyy");
这只是第一个表,但将在这一个和每个更一个会有Total。
谢谢!
亲切的问候!
你可以提供一张带有50个表格的工作表的示例工作表,或者更好的链接到实际工作表吗?什么是唯一标识其他人的每张桌子的? – mongoose36
我可以提供2个表格的测试文件。该模式对于所有50来说都是相同的。https://drive.google.com/open?id=1Of2qpfaz8Z8sAhblVP1ebllHR3WT7b3kEehli6xqe0U。 .... –
谢谢安德烈!是否有可能获得表格的编辑权限。 – mongoose36