2013-08-05 14 views
1

我有一個排序問題。我的表中有兩列需要排序(首選=第1列,第2列=第4列)。我正在使用下面的腳本,它適用於按列1排序,並且它適用於排序列4 如果我也在第1列中更改但不是自己。我希望能夠編輯一個值JUST第4列值並讓它進行第二次排序。例如:自動排序多列,次列觸發器也是

例如:第1列:日期,第2列:姓氏,第3列:DOB,第4列:付款 我想按日期順序(升序,允許重複值)維護電子表格,但二次按付款金額(升序)。這樣,我可以看到按日期從最高到最低的付款順序。如果我更改單元格中的付款數據,我希望按第1列(日期)和第4(付款)。這個腳本沒有完成最後一步。有什麼建議?

/** 
* Automatically sorts the 1st column (not the header row) Ascending. 
*/ 
function onEdit(event){ 
    var sheet = SpreadsheetApp.getActiveSpreadsheet(); 
    var editedCell = sheet.getActiveCell(); 

    var columnToSortBy = 1; 
    var tableRange = "A2:T99"; // What to sort. 

    if(editedCell.getColumn() == columnToSortBy){ 
    var range = sheet.getRange(tableRange); 
    range.sort([1, 4]); // or 
    range.sort([{ column: 1, ascending: true }, 4]); // or 
    range.sort([{ column: 1, ascending: true }, { column: 4, ascending: true }]); 
    } 
} 

回答

0

大概我不明白這個問題?我建議從

if(editedCell.getColumn() == columnToSortBy){ 
    ... 
} 

改變你的if語句

if((editedCell.getColumn() == columnToSortBy) || (editedCell.getColumn() == 4)){ 
    ... 
}