2011-12-06 32 views
0

我有一張帶有兩張單獨工作表的Google電子表格。第一個是名單和數據的大名單,第二個應該是第一張紙上所有數據的排序清單(按姓氏排序)。這裏是我定義的第二片電流方式:在Google文檔中對已排序的電子表格進行腳本編寫,並忽略行

=sort(sheet1!A:L, 2, TRUE) 

除了一個問題,它工作得很好大部分:在Sheet1中,第一行是標題行組成的「名」, 「姓氏」,「電話」等。當我使用Sheet2的公式時,該行與其餘部分進行排序。

如何更改賦值,以便排序忽略sheet1的第一行,並使用相同的行爲對列A到L進行排序?手動指定長度是不可行的,因爲可能會在未來快速添加和刪除條目。

回答

2

您可以使用另一個範圍定義,它指定了第一個單元格,但沒有指定結束。例如

A1: =ArrayFormula(Sheet1!A1:L1) 
A2: =Sort(Sheet1!A2:L, 2, TRUE) 

A1公式只是複製標題:)
在A2,您可以指定放置在A2的所需的數據只(第2行等):L。

1

下面是一個通用腳本,它將根據第1列進行自動排序,並假定爲一個Header行。

創建一個腳本:

在菜單中,選擇工具 - >腳本編輯器... 在空白代碼窗口中粘貼下面的代碼,只要電池被編輯,它會自動運行:

/** 
* Automatically sorts the 1st column (not the header row) Ascending. 
*/ 
function onEdit(event){ 
    var sheet = event.source.getActiveSheet(); 
    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({ column : columnToSortBy, ascending: true }); 
    } 
} 
+0

即使我從PHP腳本添加行? –

+0

對不起,我不知道。 – grokster

相關問題