2016-10-05 16 views
-1

注記約1年前まではスプレッドシートを見たことがありませんでした。このGoogleスクリプトを説明してください

私はしばらく前にこのスクリプトを使用し、それが働いた:その後、

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; 
    } 
} 

それは同じワークブックにあるタブMER、上、セルB7に数式= AVL N3を設定し、そして!この式をB7で始まるColBの26番目のセルごとに、そしてColBの26番目のセルごとにシートの下にコピーした。だから、

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

ありがとうTom!それは明確化されたものであり、多くの助けになりました。 – Matt

関連する問題