Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script google脚本在google电子表格中查找重复项,重复次数超过2次_Google Apps Script_Google Sheets - Fatal编程技术网

Google apps script google脚本在google电子表格中查找重复项,重复次数超过2次

Google apps script google脚本在google电子表格中查找重复项,重复次数超过2次,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我在网上找到了下面的google应用程序脚本,它在google电子表格的指定行范围内找到重复项。我需要以这样的方式编辑这个脚本,如果重复出现超过2次,它应该显示这些值 以下是脚本的外观: function dups(rows) { var values = {}; var duplicates = []; for (var i = 0; i < rows.length; i++) { var value = rows[i][0]; if (values[valu

我在网上找到了下面的google应用程序脚本,它在google电子表格的指定行范围内找到重复项。我需要以这样的方式编辑这个脚本,如果重复出现超过2次,它应该显示这些值

以下是脚本的外观:

function dups(rows) {
  var values = {};
  var duplicates = [];
  for (var i = 0; i < rows.length; i++) {
    var value = rows[i][0];
    if (values[value] !== undefined && duplicates.indexOf(value) == -1) {
      duplicates.push(value);
    } else {
      values[value] = true
    }
  }
  return duplicates;
}
函数DUP(行){
var值={};
重复变量=[];
对于(变量i=0;i
例如,使用此脚本,如果我在任何单元格中键入=dups(A1:A30),我将获得重复多次的唯一值列表。但我想要重复两次以上的值

提前感谢,,
drc

使用三元组不幸的是,您不能只使用一个(简单的)索引,因此最有效的方法是计数出现次数,并在遇到两个时停止

function trips(rows) {
  var output = [];
  var appearances;

  for (var row = 0; row < rows.length-2; row++) {
    var value = rows[row][0];

    if (output.indexOf(value) > -1) {
      continue;
    }

    appearances = 0;
    for (var row2 = row + 1; row2 < rows.length; row2++) {
      if (value === rows[row2][0]) {
        appearances += 1;
      }
      if (appearances >= 2) {
        output.push(value);   
        break;
      }
    }  
  }
  return output;
}
功能跳闸(行){
var输出=[];
var表现;
对于(变量行=0;行-1){
继续;
}
外观=0;
对于(变量row2=行+1;行2=2){
输出推送(值);
打破
}
}  
}
返回输出;
}

不幸的是,使用三元组时,您不能只使用一个(简单的)索引,因此最有效的方法是计数出现次数,并在遇到两个时停止

function trips(rows) {
  var output = [];
  var appearances;

  for (var row = 0; row < rows.length-2; row++) {
    var value = rows[row][0];

    if (output.indexOf(value) > -1) {
      continue;
    }

    appearances = 0;
    for (var row2 = row + 1; row2 < rows.length; row2++) {
      if (value === rows[row2][0]) {
        appearances += 1;
      }
      if (appearances >= 2) {
        output.push(value);   
        break;
      }
    }  
  }
  return output;
}
功能跳闸(行){
var输出=[];
var表现;
对于(变量行=0;行-1){
继续;
}
外观=0;
对于(变量row2=行+1;行2=2){
输出推送(值);
打破
}
}  
}
返回输出;
}