Excel姓名去重保留最新方法
时间:2026-05-02 09:57:39 380浏览 收藏
在Excel中按姓名去重时,若需保留每组姓名中最新的一条记录(如依据录入日期或时间戳判断),直接使用“删除重复项”会错误地保留首次出现的旧数据;本文系统介绍了四种高效可靠的方法——通过降序排序后删除重复项、构建辅助列结合MAXIFS精准标记最新记录、利用Power Query分组聚合实现非破坏性可刷新处理,以及Excel 365专属的UNIQUE+XLOOKUP动态数组公式方案,无论您追求操作简洁、结构保留、批量处理还是实时更新,都能找到适配场景的最佳实践。

如果您在Excel中需要按姓名去重,但希望保留每组姓名中最新的一条记录(例如依据“录入日期”或“时间戳”列判断新旧),则不能直接使用默认的“删除重复项”功能,因其仅保留首次出现的行。以下是实现按姓名去重并保留最新记录的多种可行方法:
一、排序+删除重复项组合法
该方法通过预先按时间降序排列,使最新记录排在每组姓名的最上方,再执行删除重复项操作,从而确保保留的是最新数据。
1、选中整张数据表(含标题行)。
2、点击【数据】选项卡,选择【升序】或【降序】前先点击任意时间列(如“录入日期”)的任一单元格。
3、再次点击【数据】→【排序】,在排序对话框中设置主要关键字为“录入日期”,次序选择降序,添加条件后点击确定。
4、重新选中数据区域,点击【数据】→【删除重复项】。
5、在弹窗中仅勾选姓名列(取消其他列勾选),确认勾选【数据包含标题】,点击【确定】。
二、辅助列+MAXIFS+筛选法
此方法不修改原始顺序,通过构建逻辑判断每条记录是否为其姓名组内时间最大值,从而精准标记最新记录,适合需保留原结构或后续复用的场景。
1、在空白列(如D列)第一行(D2)输入公式:=IF(C2=MAXIFS(C:C,A:A,A2),1,0)(假设A列为姓名,C列为日期)。
2、将该公式向下填充至全部数据行。
3、选中整表,点击【数据】→【筛选】,对D列启用筛选,只保留值为1的行。
4、复制筛选后的可见行,粘贴为数值至新工作表。
三、Power Query高级去重法
Power Query支持按分组聚合选取特定行,可直接按姓名分组后取每组中日期最大的那一条,全程非破坏性、可刷新、适用于大数据量。
1、选中数据区域,点击【数据】→【从表格/区域】,确认创建表并勾选【表包含标题】,点击【确定】进入Power Query编辑器。
2、在右侧“查询设置”窗格中,右键点击查询名称,选择【重命名】,设为易识别名称(如“姓名去重留新”)。
3、点击【转换】选项卡→【分组依据】,在分组对话框中:分组依据选姓名;新列名填“最新记录”;操作选所有行。
4、点击新生成的“最新记录”列右侧的展开按钮,选择【使用还原行】→勾选除“姓名”外所有字段,取消勾选【使用原始列名作为前缀】。
5、点击【转换】→【排序】,对日期列(如“录入日期”)执行降序排序。
6、点击【转换】→【提取行】→【获取前1行】。
四、UNIQUE+XLOOKUP嵌套数组法(Excel 365 / 2021+)
利用动态数组函数组合,无需手动刷新或进入编辑器,即可实时生成按姓名去重且保留最新记录的结果表,结果随源数据变化自动更新。
1、在空白区域首单元格(如F1)输入以下公式:
=LET(names,UNIQUE(A2:A1000),dates,BYROW(names,LAMBDA(n,MAXIFS(C2:C1000,A2:A1000,n))),HSTACK(names,XLOOKUP(dates,C2:C1000,B2:B1000,"")))
2、按Enter确认,公式将自动溢出生成两列:姓名与对应最新记录的某字段(如B列为“联系电话”,C列为“录入日期”)。
3、如需返回整行数据,可将XLOOKUP部分替换为FILTER配合INDEX,例如:INDEX(FILTER($A$2:$E$1000,$A$2:$A$1000=n),1,0)嵌入相应位置。
以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于文章的相关知识,也可关注golang学习网公众号。
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
436 收藏
-
320 收藏
-
385 收藏
-
213 收藏
-
138 收藏
-
263 收藏
-
321 收藏
-
370 收藏
-
377 收藏
-
499 收藏
-
419 收藏
-
278 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习