查找两列组合的重复项

时间:2015-10-12 16:08:46

标签: google-sheets

让我有两列, A B 。我怎么能找到这两列组合的副本?
enter image description here

如图所示,两列组合的副本将被着色。

3 个答案:

答案 0 :(得分:3)

您可以借助以下脚本突出显示重复项:

function onOpen() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet();
  var entries = [{name : "Check Duplicates",functionName : "duplicates"}];
  sheet.addMenu("Scripts", entries);
};

function duplicates() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var s = ss.getSheetByName('Sheet1');
  var r = s.getRange("A:B");
  var v = r.getValues();
  r.setBackground('white');
  var f = r.getBackgrounds();
  var lastrow = getLastPopulatedRow(v);

  for( var i=0;i<lastrow;i++){
    for( var j=i+1;j<lastrow;j++){
      if( ( v[i][0]==v[j][0] && v[i][1]==v[j][1] ) || ( v[i][0]==v[j][1] && v[i][1]==v[j][0] ) ) {
        f[i][0]='lightgreen';
        f[i][1]='lightgreen';
        f[j][0]='lightgreen';
        f[j][1]='lightgreen';
      }
    }
  }
  r.setBackgrounds(f);
};

function getLastPopulatedRow(data) {
  for (var i=data.length-1;i>=0;i--)
    for (var j=0;j<data[0].length;j++)
      if (data[i][j]) return i+1;
  return 0;
};


从脚本编辑器运行“duplicates”功能。您还可以从电子表格中的自定义菜单“脚本”运行它。

Here is the Screenshot

答案 1 :(得分:1)

我认为@jwilson给出了正确答案。 但是,这是一种快捷方法,它可能对您有所帮助。

选择一个单元格并使用CONCATENATE函数连接两个列值,并在它们之间加space。然后,如果它们有重复,您可以搜索当前列。

例如,使用您的示例图片,选择您的列 C1 并添加=CONCATENATE(A1," ",B1)并将其拖动到适用于 C 列中所有单元格的公式。然后为列 C 添加条件格式规则,以使用=countif(C:C,C1)>1检查重复项 在这里发生的是,列 A B 的值首先连接,然后比较它们是否在记录中有重复的条目。

答案 2 :(得分:0)

使用以下自定义公式进行条件格式化

String query ="SELECT * FROM Suppliers";