2016-05-17 42 views
0

我一直試圖在與該行上的兩個不同的單元格區域對應的行上放置兩個時間戳。我已成功使用此腳本來爲該行上的任何更改(第5列之後)添加時間戳記。Google sheet在一行上記錄不同的單元格區域

我想什麼是放置在E欄時間戳如有變化,細胞發生範圍F到L,然後在列另一個時間戳男,如果有其他的變化是從N列作出Z:

function onEdit(e) { 
    if (e.range.columnStart < 6 || e.range.rowStart < 2) return; 
    e.source.getActiveSheet().getRange(e.range.rowStart, 5) 
    .setValue(Utilities.formatDate(new Date(), "GMT-4", "MM/dd/yyyy HH:mm:ss")); 
} 

回答

2

我在Range class documentation中看不到RowStart和columnStart屬性;似乎最好使用記錄的方法getRow和getColumn。像這樣:

function onEdit(e) { 
    var sheet = e.range.getSheet(); 
    var row = e.range.getRow(); 
    if (row < 2) { 
    return; 
    } 
    var col = e.range.getColumn(); 
    if (col >= 6 && col <= 12) { 
    sheet.getRange(row, 5).setValue(new Date()); 
    } 
    if (col >= 14 && col <= 26) { 
    sheet.getRange(row, 13).setValue(new Date()); 
    } 
} 

如果需要,可以格式化時間戳列以顯示日期和時間。如您所見,條件語句類似:最左列,最右列,時戳列。更多可以被添加到相同的效果。如果你不喜歡計數字母,表情像

"N".charCodeAt(0) - "A".charCodeAt(0) + 1; 

可以用來獲得對應N列數

相關問題