2016-10-05 54 views
-1

注意我從來沒有看到一個電子表格,直到大約一年前。請解釋這個谷歌腳本

我前一段時間使用這個腳本,和它的工作:

function setFormulas() { 

    var sheet, startRow, i;  
    sheet = SpreadsheetApp.getActiveSheet(); 
    startRow = 7; 
    i = 3; 
    while(startRow < 5181) { 
    sheet.getRange(startRow, 2).setFormula('=AVL!V' + i); 
    i++; 
    startRow += 26; 
    } 
} 

它設置一個公式= AVL N3進入細胞B7,標籤MER,這是在同一工作簿,然後!在ColB中的第26個單元格中,從B7開始,然後每26個單元格下降到ColB中,將公式向下複製。

所以:

AVL!N3 went into B7 
AVL!N4 went into B33 
AVL!N5 went into B59 
AVL!N6 went into B85 

等等...

而且在總的31倍。我需要爲72張不同的紙張(這是一個船預訂系統)做這個,所以手動調整公式將是一場噩夢。

回答

1

我寫了該函數的每一步在下面做了什麼 - //表示解釋該行的註釋。

function setFormulas() { 

    var sheet, startRow, i; //sets your variables 
    sheet = SpreadsheetApp.getActiveSheet(); //gets the sheet 
    startRow = 7; //sets the start row to 7 
    i = 3; //sets i to be the number 3 

    while(startRow < 5181) { //while startRow (which starts at 7) is less than 5181 keep doing this 
    sheet.getRange(startRow, 2).setFormula('=AVL!V' + i);//get the cell and set it to =ALV!V plus the value for i 
    i++; // add 1 to the value of i 
    startRow += 26; //increment startRow by adding 26 for each loop through 
    } 
} 
+0

謝謝湯姆!這是澄清的事情,它有很多幫助。 – Matt