我在一張表中有一些表格,我需要製作腳本來每天發送一封電子郵件。它今天搜索的腳本日期,將它匹配到我的表中並返回列號,然後我在第一列(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