我需要幫助,使這段代碼更高效,運行需要很長時間,現在我有 3500 行,以后會更多......我嘗試回圈,但我覺得我做錯了什么......任何幫助將不勝感激......作業但運行緩慢的代碼如下 1995 xp 視窗:
function myReport() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var loanSht = ss.getSheetByName("CURENT POOL DATA SHEET");
var report = ss.getSheetByName("REPORTS");
var dRng = loanSht.getRange(2, 1, loanSht.getLastRow(), 14).getDisplayValues();
if (report.getRange("B3").getValue() !== "") {
dRng = dRng.filter(function(e){ return e[1] === report.getRange("B3").getValue()});
}
if (report.getRange("C3").getValue() !== "") {
dRng = dRng.filter(function(e){ return e[2] === report.getRange("C3").getValue()});
}
if (report.getRange("D3").getValue() !== "") {
dRng = dRng.filter(function(e){ return e[3] === report.getRange("D3").getValue()});
}
if (report.getRange("E3").getValue() !== "") {
dRng = dRng.filter(function(e){ return e[4] === report.getRange("E3").getValue()});
}
if (report.getRange("J3").getValue() !== "") {
dRng = dRng.filter(function(e){ return e[9] === report.getRange("J3").getDisplayValue()});
}
if (report.getRange("L3").getValue() !== "") {
dRng = dRng.filter(function(e){ return e[11] === report.getRange("L3").getValue()});
}
report.getRange(4 ,1 ,dRng.length, 14).setValues(dRng);
}
強文本
uj5u.com熱心網友回復:
如果您進行以下分配:
const [b,c,d,e,,,,,j,,l] = sheet.getRange("B3:L3").getValues()[0];
那么您可以進行以下比較。從而節省了幾次 getValue() 呼叫的時間
e[1] === b
e[2] === c
e[3] === d
e[4] === e
e[9] === j
e[11] === l
我希望你能明白。我不想復制整個事情。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/504963.html
上一篇:Excel公式分配票號
