2015-10-27 54 views
1

我使用...多重標準時間戳

function onEdit() { 
    var s = SpreadsheetApp.getActiveSheet(); 
    var r = s.getActiveCell(); 
    var time = new Date(+new Date + (1000 * 60 * 60 * 24 * 7)); 
time = Utilities.formatDate(time, "GMT-08:00", "MM/dd/yyyy"); 
     if(r.getColumn() == 2) { //checks the column 
     var nextCell = r.offset(0, 6); 
     if(nextCell.getValue() === '') //is empty? 
     nextCell.setValue(time);  
    } 
} 

...一個時間戳+ 7天內陸續新增至列H.

除了這個時間戳功能...(可能是另一個腳本)

  1. 當列d值= 「問題/等待信息」,然後改變其他任何事情。

  • 當塔E值= 「初步比25kW的減」 「初步,小於25kW的」,然後改變到「初步,小於25kW」「初步,小於25kW」除外。
  • 我們想要再次開始時間戳+7天。

    看起來這可能不適用於onEdit,因爲在編輯之前必須讀取一些值。不知道如何做到這一點。謝謝

    正確,這是不可能的使用onEdit沒有複製原始數據的其他地方首先。目前我的專業知識是一個複雜的解決方案。

    回答

    1

    也許嘗試這樣的事情

    function onEdit(e) { 
    var d = new Date(new Date() + (1000 * 60 * 60 * 24 * 7)); 
    var time = Utilities.formatDate(d, "GMT-08:00", "MM/dd/yyyy"), 
        ind = [2, 4].indexOf(e.range.columnStart), 
        off; 
    if (ind == 0) { 
        off = 6; 
    } else if (ind == 1 && e.value !== "Questions/Waiting for Info") { 
        off = 4; 
    } 
    e.range.offset(0, off).setValue(time) 
    } 
    
    +0

    當列d改變任何東西,但「問題/等待信息」和「1969年12月31日」是新的時間戳這工作。這裏的主要問題是我不認爲onEdit函數會起作用。我也忘了一個額外的標準,並決定這個問題太大。看到我上面的編輯。謝謝 – user2748807