0
私はスプレッドシート内のある範囲の値に対して基本的な乗算を行い、それらの値を列の値の範囲で除算したいと考えています。範囲は8列、分割範囲は1列です。バッチ操作を使用してコードを最適化するにはどうすればよいですか?
私はこのコードを持っている:
それは、それは非常に遅い読み込み、私は100を掛け、シングルに位置値で除算する準備ができて数値を持つシートから各セルに書き込んだfunction multiply() {
var doc = SpreadsheetApp.openById(SCRIPT_PROP.getProperty("1iXQxyL3URe1X1FgbZ76mEFAxLnxegyDzXOMF6WQ5Yqs"));
var sheet = doc.getSheetByName("json");
var sheet2 = doc.getSheetByName("tabla de frecuencias");
var sheet3 = doc.getSheetByName("Template");
var range = sheet2.getDataRange();
var numRows = range.getNumRows();
var numCols = range.getNumColumns()-1; //This will get the division values which are located in the last column
var targ = sheet2.getLastColumn();
for (var i = 2; i <= numRows; i++) {
for (var j = 2; j <= numCols; j++) {
var A = range.getCell(i,j).getValue();
var value = A;
for (var v = 1; v <= numRows; v++) {
var T = range.getCell(v,targ).getValue();
range.getCell(i,j).setValue(value*100/T);
}
}
}
}
この値は行ごとに異なります。
私のスクリプトは仕事が極端に遅くなり、バッチ操作が有望に見えますが、それが最良の解決策ではない場合、私は質問のタイトルにかかわらず他の代替ソリューションを受け入れます。
ノー成功を収めてスクリプトを試してみましたが、あなたは私を理解するための説明を支援するため、各行をコメントしますか? –
スプレッドシートを共有できますか? – Cooper
最後の列のデータにアクセスしないように、2番目のループに変更を加えました。 – Cooper