マスターワークシートがあり、異なる値を持つ75を超える 子シートを入力する必要があります。
編集: 状況は少し変わった。
'AGENTS'
Agent Name Sheet ID
1 Tom Link to Tom's sheet
2 John Link to John's sheet
3 Mary Link to Mary's sheet
etc.
リンク先:
'MASTER SHEET'
A C D
Agent Name Value 1 from Agent's Sheet Value 2 from Agent's Sheet
1 D46 D53
2 D46 D53
3 D46 D53
また、これは週番号を参照する1つのセルに基づいています。したがって、マスターのセルF11が「39」の場合、その特定の週のエージェントシートからデータを取得します。
私はコードをこれに変更するための微妙な試みをしました:
var agentNames = SpreadsheetApp.getActive().getSheetByName('AGENTS').getRange('A2:A35').getValues();//these are the agent names
var agentID = SpreadsheetApp.getActive().getSheetByName('AGENTS').getRange('B2:B35').getValues();//here are their sheets
var agentSheets = SpreadsheetApp.openById(agentSheets[i][0]);
var array1 = [];
var array2 = [];
var array3 = [];
var masterSheet = SpreadsheetApp.getActive().getSheetByName('MASTER');
var sheetName = SpreadsheetApp.openById('B2') + 'F2' + (masterSheet.getRange('F11').getValue());
var temp;
for (var i = 0; i < numAgents; i++) {
temp = SpreadsheetApp.openById(agentSheets[i][1]).getSheetByName(sheetName).getRange('D46:D53').getValues();
array1.push([agents[i][0]]);
array2.push([temp[0][0]]);
array3.push([temp[7][0]]);
}
masterSheet.getRange(2, 1, numAgents, 1).setValues(array1);//Agent names
masterSheet.getRange(2, 3, numAgents, 2).setValues(array2);
masterSheet.getRange(2, 4, numAgents, 2).setValues(array3);
}
JavaScriptはこの問題の次善の解決策でしょうか?スクリプトを75枚以上実行すると、読み込み時間が非常に長くなるようです。進め方についての提案やアドバイスは大歓迎です!