【问题标题】:Remove duplicate values in Google Sheet删除 Google 表格中的重复值
【发布时间】:2018-04-11 23:44:20
【问题描述】:

我有超过 500 行并且经常更新的 google 表格。我喜欢做的是,如果特定列(E)中有重复值,我想自动删除整行(06)或动态提取唯一值,包括该行中的其他值,然后将其粘贴到另一个地方。例如,到另一张纸。

更新 1

我可以从列 (E) 中获取唯一值,但我无法将其他值带入其中。我正在使用 =unique(E:E) 函数过滤唯一值,并尝试使用此函数带来其他值。 =VLOOKUP(I1,A:G,COLUMN(E:E),FALSE) 但它不起作用。
我该如何解决/做到这一点?

样本表:https://docs.google.com
我想要什么...(全尺寸图片:https://i.stack.imgur.com/kn2oU.png

我得到了什么(全尺寸图片:https://i.stack.imgur.com/7QZGU.png

-谢谢。

【问题讨论】:

  • 没有您已经尝试过的代码?只是“为我写这个”?
  • 请不要使用链接缩短器,因为它们可能被用来掩盖指向危险网站的链接。
  • @techowch,我没有包含任何代码,因为我使用了很多代码,但它们都不起作用,或者我无法弄清楚它们。无论如何,我已经更新了这个问题。谢谢。
  • @Ruben, KK。我已经更新了这个问题。谢谢。

标签: google-apps-script google-sheets spreadsheet


【解决方案1】:

VLOOKUP 的正确语法(找到唯一值后)将是:

=ARRAYFORMULA(IFERROR(VLOOKUP(I:I,{E:E,A:G},COLUMN(A:G)+1,0)))
  • 第 I 列将使用 UNIQUE 公式包含 UNIQUE 值
  • 范围内的第一列应为 E:E。因此使用 {E:E,A:G}
  • 创建了新数组
  • INDEX 也应该是一个数组。使用 COLUMN 创建一系列 {1,2,3...}

或者,您可以使用过滤器:

=FILTER(A:G,MATCH(E:E,E:E,0)=ROW(E:E))

【讨论】:

    【解决方案2】:

    文档有一个Tutorial: Removing Duplicate Rows in a Spreadsheet

    本教程的目标是在您希望在 G Suite 中自动复制数据的过程中避免重复,特别是如何删除电子表格数据中的重复行。

    此外,还有一个您可以使用的工作代码。

    function removeDuplicates() {
      var sheet = SpreadsheetApp.getActiveSheet();
      var data = sheet.getDataRange().getValues();
      var newData = new Array();
      for(i in data){
        var row = data\[i\];
        var duplicate = false;
        for(j in newData){
          if(row.join() == newData\[j\].join()){
            duplicate = true;
          }
        }
        if(!duplicate){
          newData.push(row);
        }
      }
      sheet.clearContents();
      sheet.getRange(1, 1, newData.length, newData\[0\].length).setValues(newData);
    }
    

    其他开发者测试的更多实时示例,您可以参考this Stack exchange post

    【讨论】:

    • 感谢您的回答。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多