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

如何让Google Sheets在A列与B列完全匹配时标记重复项?

基于姓名组合标记Google Sheets重复提交的方案

方法一:用内置公式快速标记

  • 选中要显示标记的列(比如C列)的第一个数据单元格(C2),输入公式:
    =IF(COUNTIFS(A$2:A2,A2,B$2:B2,B2)>1,"duplicate","")
  • 下拉填充这个公式到所有数据行,就能自动标记出A列(名)和B列(姓)完全匹配的重复项。
  • 原理:COUNTIFS会统计从第2行到当前行里,同时满足“名和当前行相同”且“姓和当前行相同”的记录数,次数大于1就说明是重复提交。

方法二:用脚本自动处理(适合新提交的表单数据)

如果希望新的表单提交进来时自动标记重复,用Google Apps Script实现:

  1. 打开你的Google Sheets,点击顶部菜单栏「扩展程序」→「Apps Script」
  2. 删除默认代码,粘贴下面的脚本:
function markDuplicates() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  const data = sheet.getDataRange().getValues();
  const namePairs = new Set();
  
  // 从第2行开始遍历(默认第1行是表头)
  for (let i = 1; i < data.length; i++) {
    const firstName = data[i][0];
    const lastName = data[i][1];
    const pair = `${firstName}|${lastName}`;
    
    if (namePairs.has(pair)) {
      sheet.getRange(i+1, 3).setValue("duplicate"); // 在C列标记重复
    } else {
      namePairs.add(pair);
      sheet.getRange(i+1, 3).clearContent();
    }
  }
}

// 可选:创建表单提交触发,新数据自动标记
function createTrigger() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet();
  ScriptApp.newTrigger("markDuplicates")
    .forSpreadsheet(sheet)
    .onFormSubmit()
    .create();
}
  1. 保存脚本(随便起个名字比如「MarkDuplicates」),先手动运行一次markDuplicates处理已有数据;如果需要自动处理新提交,运行createTrigger(第一次运行需要授权)。

额外提示

  • 如果姓名存在大小写差异(比如Joe和joe),可以统一转成小写来判断:
    公式修改为:=IF(COUNTIFS(A$2:A2,LOWER(A2),B$2:B2,LOWER(B2))>1,"duplicate","")
    脚本里把firstName和lastName改成firstName.toLowerCase()和lastName.toLowerCase()
  • 要是还有其他能区分身份的列(比如邮箱),可以直接扩展公式的条件或者脚本里的判断逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 07:50:11