夜雨聆风学习资料网

ARTICLE · 1342550

每日 Excel 小技巧|第 10 期:删除重复项,唯一值提取与首末记录提取

每日 Excel 小技巧|第 10 期:删除重复项,唯一值提取与首末记录提取

哈喽大家好,这里是【每天学习一个 Excel 小技巧】专栏。前面几期我们把形状、SmartArt 都做完了,这一期彻底回到数据处理本行。日常工作里最常见的场景:一份工单导出来几千行,同一个来电人、同一个诉求类型反复出现,我要的只是 "不重复的那些"。今天讲透【删除重复项】:基础用来提取唯一值,进阶用来抓出每个日期里的第一条和最后一条记录,质检工单、话务明细导出后天天用得上。


1-1 先搞清这个功能的脾气

入口:【数据】选项卡 →【数据工具】组 →【删除重复项】

三个必须知道的前提

  1. 它是破坏性操作:直接在原区域上删,被删掉的行不会跑到别处去
  2. 它只保留 "第一次出现" 的那一条,后面的全部删掉(这一点直接决定了进阶用法)
  3. 删掉之后不能找回(Ctrl+Z 有时可以撤销,但行数多、操作多时不可靠)

👉所以第一条铁律:操作前先复制一份原始数据到新工作表,命名 "原始备份",再动手。


1-2 基础应用:唯一值获取

场景 A:单列去重

操作步骤

  1. 选中数据区域(或直接点区域内任意一个单元格,Excel 会自动识别连续区域)
  2. 【数据】→【删除重复项】
  3. 弹窗里先看顶部:勾选【数据包含标题】(有表头的表必须勾,否则表头会被当成数据参与判断)
  4. 下面列清单里,只勾选你要判断的那一列,其他列全部取消勾选
  5. 点【确定】
  6. 弹出提示 "发现 X 个重复值,已将其删除,保留了 Y 个唯一值"——记下这个数字,方便核对
  7. 剩下的就是只出现一次的数据

👉结果含义:保留的是第一次出现的那一整行(包括它对应的工单内容),不是只留那一列。

场景 B:多列去重(组合唯一,最常见!)

操作步骤

  1. 同样选中区域 →【删除重复项】
  2. 这次勾选多列
  3. 确定👉结果:只有 "三列内容完全相同" 的行才算重复,才会被删;任何一列不一样就保留。

⚠️多列去重最容易犯的错:把不该勾的列也勾上了。 每行编号都不同,那就一条也删不掉,结果看起来 "什么都没发生"。判断原则:只勾选构成 "唯一标识" 的那几列。

场景 C:不去原数据,另存唯一值(推荐养成习惯)

方法 1:高级筛选

  1. 选中数据区域
  2. 【数据】→【高级】(筛选旁边)
  3. 选择【将结果复制到其他位置】
  4. 【列表区域】= 你的数据区;【复制到】= 点一个空白单元格
  5. 勾选【选择不重复的记录】
  6. 确定 → 唯一值被复制到新位置,原数据完好无损

方法 2:365 新函数 UNIQUE(最快)

  1. 在空白单元格输入:=UNIQUE(A2:A1000)
  2. 回车,自动 "溢出" 出一列唯一值
  3. 想要多列组合唯一:=UNIQUE(A2:C1000),选三列就按三列组合判断

这个函数能不能用的问题:Microsoft 365 新版支持,2016/2019 没有,那就用高级筛选或删除重复项。


1-3 进阶应用:获取每天第一条与最后一条记录

这是本节最有价值的部分。因为删除重复项只保留第一次出现,所以只要先改排序,就能让它 "保留谁"。

前提:你的数据里要有 "日期" 和 "时间" 两列

如果只有 "日期 + 时分" 混在一起的一列(比如 2026/11/9 8:32),先拆开:

  1. 选中该列 →【数据】→【分列】→ 选【分隔符号】→ 勾 "空格"→ 完成
  2. 拆成 "日期" 列 + "时间" 列

方法 A:获取每天的第一条记录(排序 + 删除重复项)

操作步骤

  1. 先复制一份数据到新表(重要)
  2. 选中整片数据 →【数据】→【排序】
  3. 设置:
  • 主要关键字 = 日期,次序 = 升序(最早在前)
  • 点【添加条件】,次要关键字 = 时间,次序 = 升序
  1. 确定,数据变成同一天里按时间从早到晚排好
  2. 保持选中 →【数据】→【删除重复项】
  3. 勾【数据包含标题】,只勾 "日期" 这一列,其他全不勾
  4. 确定👉结果:每个日期只留一条,留下的就是这一天时间最早的那条记录(第一条)

方法 B:获取每天的最后一条记录

操作步骤

  1. 同样先复制一份数据
  2. 【数据】→【排序】:日期 降序,时间 降序(最晚在前)
  3. 【删除重复项】,只勾 "日期" 列
  4. 确定👉结果:每天保留的是时间最晚的那条,即最后一条

一句话逻辑:删除重复项永远保留 "排序后的第一行",所以排序方向决定了你抓到的是最早还是最晚。

方法 C:不破坏原数据 —— 辅助列法(更稳,推荐)

如果不想反复排序、不想动原表,用 COUNTIF 数次数:

抓每天第一条

  1. 在数据右侧插入辅助列,标题写 "第几次"
  2. 假设日期在 B 列、数据从第 2 行开始,B2 输入:
=COUNTIF($B$2:B2,B2)
  1. 下拉填充到最后一行
  2. 这个公式的含义:从表头到当前行,这个日期出现了几次
  • 值为 1 = 这是该日期的第一次出现 → 对应第一条记录
  1. 选中辅助列 →【数据】→【筛选】→ 只勾 1
  2. 筛出来的就是每天的第一条,复制到新表即可

抓每天最后一条(公式换个方向)

  1. 辅助列输入:
=COUNTIF(B2:$B$1000,B2)

(把 1000 换成你数据的最后一行)2. 含义:从当前行到最后一行,这个日期出现了几次

  • 值为 1 = 当前行之后没有同一个日期了 → 它就是最后一次出现,即最后一条记录
  1. 筛选 1,复制结果

方法 D:365 函数版(一条公式出结果)

  1. 先取唯一日期:=UNIQUE(B2:B1000)
  2. 再分别取当天最早 / 最晚时间:
  • 最早:=MINIFS(C2:C1000,B2:B1000,该日期)
  • 最晚:=MAXIFS(C2:C1000,B2:B1000,该日期)
  1. 用 XLOOKUP 反查该时间对应的整行内容

这个组合比较绕,日常更推荐方法 A、B、C,看懂逻辑就够了。


📌本期一句话速记(收藏)

  1. 删除重复项是破坏性操作,先复制备份再动手
  2. 有表头必须勾【数据包含标题】,否则表头被当成数据
  3. 单列去重:只勾一列;多列去重:只勾构成唯一标识的那几列(别勾编号列)
  4. 它永远保留排序后的第一行—— 这是进阶级应用的钥匙
  5. 每天第一条:日期 + 时间 升序 → 只勾日期去重
  6. 每天最后一条:日期 + 时间 降序 → 只勾日期去重
  7. 不想动原表:COUNTIF($B$2:B2,B2) 筛选等于 1;抓最后一条改成 COUNTIF(B2:$B$1000,B2)
  8. 想不破坏、还想要函数:365 用 UNIQUE,老版本用高级筛选勾 "选择不重复的记录"

📌本专栏:每天学习一个 Excel 小技巧从基础格式、函数到数据透视、报表自动化,一步步带你吃透 Excel,适合职场、台账、

报表使用。👉点个关注不迷路,跟着我每天花十分钟,把别人的加班时间省下来✨💬你被 "删了重复项,原始数据找不回来" 坑过吗?评论区说说你的经历,也欢迎留言想学的功能。

回首页,搜索你想要的文档

在首页搜索框输入关键词,快速定位资料

文库首页搜索指引 立即搜索

相关学习资料