2013-01-16 18 views
0

我已經完成了漫長的搜索並找不到要查找的內容。也許有人可以幫忙嗎?Google Apps腳本刪除D列中包含特定值的電子表格的最後(或第一)行

我有一個谷歌Apps腳本,從包含「你好」列D.

function deleteRow() { 

    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var s = ss.getSheetByName('Sheet1'); 
    var values = s.getDataRange().getValues(); 

    for(var row = values.length -1; row >= 0; --row) 
    if (values[row][3] == 'Hello') 
     s.deleteRow(parseInt(row)+1); 
}; 

不過,我需要一個腳本,只刪除一行電子表格中刪除行 - 最低一行「你好'在D列。 此外,還有一個類似的腳本,刪除列D中的'你好'的最高行。

有誰知道如何做到這一點?您的寶貴幫助將受到高度讚賞。

第一列是時間戳(數據來自表單),所以如果腳本可以刪除D列中最老的包含'Hello'的行,那也可以! (並且類似於在D列中刪除最近一行'hello'的腳本)。

回答

1

其實很簡單。只要你擊中最高或最低的一排就打出(我假設第1排高,第10排低)。

function deleteHighestRow() { 

    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var s = ss.getSheetByName('Sheet1'); 
    var values = s.getDataRange().getValues(); 

    for(var row = 0; row < values.length ; row ++){ 
    if (values[row][3] == 'Hello'){ 
     s.deleteRow(row+1); 
     break; 
    } 
    } 
}; 

function deleteLowestRow() { 

    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var s = ss.getSheetByName('Sheet1'); 
    var values = s.getDataRange().getValues(); 

    for(var row = values.length -1 ; row >= 0 ; row--){ 
    if (values[row][3] == 'Hello'){ 
     s.deleteRow(row+1); 
     break; 
    } 
    } 
}; 
+0

上面的代碼有訣竅!非常感謝,斯里克。你一直在幫助很大。 – Vin

相關問題