You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Sheets特定列去重:自动删重复行或提取关联唯一值

解决Google Sheets E列重复值关联数据去重/自动删行问题

我来帮你搞定这个需求——不管是要动态提取带关联数据的唯一值,还是自动删除E列重复的整行,都有合适的办法,比单纯用=UNIQUE(E:E)要管用得多:

方案1:动态提取带关联数据的唯一值到其他工作表(不修改原表)

如果你想保留原表不动,把E列唯一值对应的整行数据同步到其他工作表,用这个公式就可以(假设你的数据范围是A到F列,要提取到新工作表的A1单元格):

=FILTER(A:F, MATCH(E:E, E:E, 0) = ROW(E:E) - ROW(E1) + 1)

公式解释:

  • MATCH(E:E, E:E, 0):返回每个E列值第一次出现的行号位置
  • ROW(E:E) - ROW(E1) + 1:计算当前行在E列的相对行号
  • 两者相等时,就保留这一行——也就是只保留每个E列值第一次出现的完整行数据,自动带出所有关联列内容,而且原表更新时,提取的结果会实时同步。

如果你的数据列更多或更少,只需要把A:F改成你的实际数据范围就行。

方案2:自动删除E列重复的整行(修改原表)

要是你需要直接在原表中自动清理重复行(适合频繁更新的场景),用Google Apps Script来实现自动触发最方便:

  1. 打开你的Google Sheets,点击顶部菜单栏的「扩展程序」→「Apps 脚本」
  2. 清空默认代码,粘贴下面的脚本:
function removeDuplicateRows() {
  // 替换成你的目标工作表名称,比如"数据源"
  const targetSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('你的工作表名称');
  if (!targetSheet) return; // 如果找不到表就停止执行
  
  // 获取所有数据范围,按第5列(E列,索引从1开始)移除重复行,保留第一次出现的行
  targetSheet.getDataRange().removeDuplicates([5]);
}
  1. 保存脚本(给项目起个名字,比如"删除重复行工具")
  2. 设置自动触发:点击左侧菜单栏的「触发器」→「添加触发器」,按以下配置:
    • 选择要运行的函数:removeDuplicateRows
    • 选择部署类型:「事件源」选「从电子表格」
    • 选择事件类型:根据你的需求选「编辑时」(每次编辑表格就触发)或「更改时」(表格有任何更改包括批量更新时触发)
    • 点击保存,授权脚本访问你的表格权限即可

脚本说明:

这个脚本会自动扫描目标工作表,删除所有E列值重复的行,只保留每个E列值第一次出现的那一行,完全自动化,不用手动操作。

内容的提问来源于stack exchange,提问作者DxTx

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:59:49