我一直在嘗試自定義並重新編寫由Google here提供的重複查找程序的代碼。我的代碼複製到下面。這還不是最終版本,但現階段它已經可以工作了;不幸的是,我不知道爲什麼不行。重複的搜索腳本不會檢測到多個值
tablicaLinkow是含有的活性範圍內的所有的值, tablicaNowa是其中非重複sholuld被存儲
如何它想工作的是,「tablicaLinkow」是數組的數組的數組從所有活動行的第二列收集的值(因此它是一維數組)。腳本從'tablicaLinkow'中獲取一個值並在'tablicaNowa'中搜索它。如果存在,腳本日誌重複。如果不是,腳本將它放入'tablicaNowa'並記錄它是而不是重複。
由於某些原因,腳本無法識別重複;總是記錄一個值,儘管它是一個不重複的值;示例日誌也在下面。
感謝您的幫助!
function sprawdzWielokrotne3() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = SpreadsheetApp.getActiveSheet();
var aktZas = ss.getActiveRange();
var kolUwag = 9, //Nevermind
kolSpra = 2, //Column that is to be checked
aktRzad = aktZas.getRowIndex(), //First row of the active range
aktWysk = aktZas.getHeight(), //Amount of active rows
calSzer = sheet.getDataRange().getNumColumns(); //Nevermind
//Checks if user chose more than one row
if (aktWysk > 1){
//Gets values of 2nd column of all the active rows
var tablicaLinkow = sheet.getRange(aktRzad, kolSpra, aktWysk).getValues();
//Array where the non-duplicates are to be put
var tablicaNowa = new Array();
for (var i in tablicaLinkow){
var duplo = false;
for (var j in tablicaNowa){
if (tablicaLinkow[i] == tablicaNowa[j]){
duplo = true;
}
}
if (duplo == false){
Logger.log(tablicaLinkow[i] + ' not a duplicate');
tablicaNowa.push(tablicaLinkow[i]);
} else {
Logger.log(tablicaLinkow[i] + ' duplicate');
}
}
}
}
例登錄
[13-07-22 17:36:19:145 CEST] 3199894 not a duplicate
[13-07-22 17:36:19:145 CEST] 3199894 not a duplicate
[13-07-22 17:36:19:146 CEST] 3199894 not a duplicate
[13-07-22 17:36:19:146 CEST] 2417512 not a duplicate
[13-07-22 17:36:19:146 CEST] 2417512 not a duplicate
[13-07-22 17:36:19:147 CEST] 199894 not a duplicate
[13-07-22 17:36:19:147 CEST] 2342261 not a duplicate
完美替代它可能會正常工作,就像一個魅力。現在,在閱讀完解釋之後,我在文檔中看到getValues()返回的數組是二維的。謝謝你,先生! –