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

使用Google Sheets App Script删除匹配数据的实现求助

Google Apps Script 实现批量删除指定区域中与A列重复的值

完整代码

function removeDuplicatesFromColumnA() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  
  // 获取A列所有非空值,存入Set(用于快速匹配)
  const columnAValues = sheet.getRange("A:A").getValues().flat()
    .filter(value => value !== ""); // 过滤空单元格
  const columnASet = new Set(columnAValues);

  // 指定要处理的目标区域(默认B:E,可按需修改)
  const targetRange = sheet.getRange("B:E");
  const targetValues = targetRange.getValues();

  // 遍历目标区域,清空与A列重复的值
  const updatedValues = targetValues.map(row => {
    return row.map(cellValue => {
      return columnASet.has(cellValue) ? "" : cellValue;
    });
  });

  // 将处理后的数据写回表格
  targetRange.setValues(updatedValues);
  
  SpreadsheetApp.getUi().alert("处理完成!已清空指定区域中与A列重复的值");
}

零基础操作步骤

  • 打开目标谷歌表格,点击顶部菜单栏「扩展程序」→「Apps 脚本」,打开脚本编辑器。
  • 清空编辑器内默认代码,粘贴上面的完整代码。
  • 如果你的目标区域不是B:E,找到代码里的const targetRange = sheet.getRange("B:E");,把"B:E"改成你需要的区域(比如"C:F")。
  • 点击编辑器顶部「运行」按钮,首次运行会触发谷歌安全授权,按指引完成即可(属于官方安全验证,可放心操作)。
  • 运行结束后返回表格,即可看到目标区域中所有在A列出现过的值已被清空。

针对你提供的示例表格的效果

A列有效内容为John、Amy、Hunter,运行脚本后:

  • B列的Amy会被清空
  • C列的John、Amy会被清空
  • D列的John会被清空
  • E列的John、Hunter会被清空
    其余不在A列的内容(如Ben、Diana、Donald等)将保留。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 21:08:21