根据Google表格中单个列中的重复项删除行

问题描述 投票:2回答:3

我有类似这样的电子表格:

enter image description here

我想根据第一列数据删除所有重复的行。

因此,从此屏幕截图行中,将保留1和2,并且将删除第2行。任何帮助将不胜感激。

附:在我的例子中,我有从A到AU的列和从2到9500的行。

谢谢。

google-sheets
3个回答
2
投票

Mayaanswersolution AJPerez将这两项工作联系起来。

您还可以使用“过滤视图”,它不需要删除行或创建新的行/表。

首先创建一个帮助列,在所有数据的左侧。如果您的数据从第1行开始,则在所有数据上方创建一个空白行;如果没有,你很好。然后,在有数据的第一行,比如第2行,写入公式

=iserror(match(B2,B$1:B1,0))

将“2”替换为数据第一行的行号,将“1”替换为该数字减1.还使用公式填充列的其余部分。 (不幸的是,arrayformula在这里不起作用。)当B#中的条目没有出现在上面的单元格中时,公式输出TRUE

请注意,这假设您的数据现在从列B开始,而列B是您希望过滤器所基于的位置。如果不是这种情况,则只需相应地编辑列索引。

选择此新助手列。转到数据 - >过滤视图... - >创建新过滤器。选择按值过滤并仅选中TRUE。

警告:此过滤器只有在实际存在TRUE值的行时才能工作。这种情况总是如此,因为有些条目总是唯一的。

如果您想避免将来的应用程序中的警告,可以使用自定义公式的条件筛选。公式b2应该工作。

但首先,即使没有辅助列,上述公式也应该有效。为什么不呢?如果谷歌支持存在,这将是一个很好的问题。


1
投票

我会... 1.创建一个新工作表2.对于A列,do = Unique(Sheet1!A:A)3。只需使用VLOOKUP填充其他列。这将提供与重复相关的第一个值。


0
投票

您还可以使用Google Apps脚本执行此操作。要从Google工作表中打开脚本编辑器:

  1. 选择菜单工具>脚本编辑器。
  2. 复制并粘贴以下脚本: function removeDuplicates() { var sheet = SpreadsheetApp.getActiveSheet(); var data = sheet.getDataRange().getValues(); var newData = []; var ids = []; for (var i in data) { var row = data[i]; var duplicate = false; if (ids.indexOf(row[0]) > -1) { duplicate = true; } else { duplicate = false; ids.push(row[0]); } if (!duplicate) { newData.push(row); } } sheet.clearContents(); sheet.getRange(1, 1, newData.length, newData[0].length).setValues(newData); }

这假设您要根据工作表第一行的内容进行重复数据删除。如果不是,您可以将0索引中的行引用调整为您希望的任何其他索引。

© www.soinside.com 2019 - 2024. All rights reserved.