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

如何基于Excel中姓、名两列分配全局唯一的联系人ID

Excel多列匹配全局分配唯一ID方案

核心逻辑为全局匹配C列(名)+D列(姓)的组合,相同组合始终对应同一个ID,不会因为行分散出现重复分配的问题,适配30000+行数据的性能需求。


方案1:Excel 365/2021及以上版本(支持动态数组)

在ID列首个数据行(假设表头在第1行,ID列是E列,第一个数据行是E2)输入如下公式,直接下拉填充即可:
=IFERROR(XLOOKUP(C2&D2,$C$1:C1&$D$1:D1,$E$1:E1),MAX($E$1:E1)+1)
公式说明:

  • 先将当前行的名、姓拼接为唯一标识字符串C2&D2
  • 检索当前行上方所有行的姓名组合,匹配成功则直接复用之前分配的ID
  • 匹配失败说明是首次出现的联系人,取当前已分配的最大ID+1作为新ID

方案2:Excel 2019及更早版本(不支持动态数组)

在E2单元格输入如下公式,输入完成后按Ctrl+Shift+Enter三键确认为数组公式,再下拉填充:
=IF(COUNTIFS($C$1:C1,C2,$D$1:D1,D2)=0,MAX($E$1:E1)+1,INDEX($E$1:E1,MATCH(C2&D2,$C$1:C1&$D$1:D1,0)))
公式说明:

  • 先用COUNTIFS判断当前姓名组合在上方行是否出现过
  • 首次出现则生成新ID,非首次出现则匹配之前的ID复用

注意事项

  • 公式中的绝对引用符号$不要遗漏,确保下拉时检索范围始终是从表头到当前行的上一行
  • 30000行数据下拉填充后计算耗时约2-3秒,无明显性能问题
  • 如果后续需要增加匹配维度(比如手机号、公司名),只需在拼接/匹配逻辑中增加对应列即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 20:06:02