请解释这个 Google 脚本
Please explain this Google Script
请注意,直到大约一年前我才见过价差sheet。
我刚才用过这个脚本,它起作用了:
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 个单元格中的 sheet 开始B7,然后在 ColB 中每隔 26 个单元向下。
所以:
AVL!N3 went into B7
AVL!N4 went into B33
AVL!N5 went into B59
AVL!N6 went into B85
等等等等...
总共31次。我需要为 72 个不同的 sheet 执行此操作(这是一个船预订系统),因此手动调整公式将是一场噩梦。
我在下面写下了函数的每个步骤的作用——// 表示解释该行的注释。
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
}
}
请注意,直到大约一年前我才见过价差sheet。
我刚才用过这个脚本,它起作用了:
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 个单元格中的 sheet 开始B7,然后在 ColB 中每隔 26 个单元向下。
所以:
AVL!N3 went into B7
AVL!N4 went into B33
AVL!N5 went into B59
AVL!N6 went into B85
等等等等...
总共31次。我需要为 72 个不同的 sheet 执行此操作(这是一个船预订系统),因此手动调整公式将是一场噩梦。
我在下面写下了函数的每个步骤的作用——// 表示解释该行的注释。
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
}
}