我一直在尝试自定义和重写谷歌在此处提供的重复查找器的代码。我的代码复制如下。它还不是最终版本,但在这个阶段它应该已经可以工作了;不幸的是,我不知道为什么不这样做。
tablicaLinkow是一个包含所有活动范围值的数组, tablicaNowa是一个应该存储非重复项的数组
我希望它如何工作的是“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