RSS订阅 爱办公,享无限效率

你现在的位置:

函数UNIQUE从数据范围中提取唯一值(去重)

一、函数概述

UNIQUE 是 Excel 365 和 Excel 2021 引入的动态数组函数,用于从数据范围中提取唯一值(去重)。结果会自动溢出到相邻单元格,数据更新时自动刷新 。

核心优势

  • 一键去重:无需手动操作”删除重复项”
  • 动态更新:源数据变化时结果自动刷新
  • 多维度:可按行或按列提取唯一值
  • 灵活筛选:可提取所有唯一值,或仅提取出现一次的值
  • 组合强大:与 SORT、FILTER 等函数配合实现高级分析

二、语法结构

=UNIQUE(
    array,           ← 必需:要去重的数据范围或数组
    [by_col],        ← 可选:FALSE=按行比较(默认), TRUE=按列比较
    [exactly_once]   ← 可选:FALSE=所有唯一值(默认), TRUE=仅出现一次的值
)

三、参数详解

参数必需说明常用取值
array要去重的数据范围(单行、单列或多行多列)A2:A100B2:D50
by_col比较方向FALSE 或省略=按行比较;TRUE=按列比较
exactly_once出现次数筛选FALSE 或省略=所有唯一值;TRUE=仅出现一次

关键说明

  • by_col=FALSE(默认):逐行比较,去除重复行
  • exactly_once=TRUE:只返回在源数据中出现恰好一次的值(真正唯一的值)
  • 空白单元格和 0 被视为不同值,都会保留

四、实用示例

示例 1:基础去重(最常用)

场景:从 B 列提取不重复的商品名称列表

=UNIQUE(B2:B75)
  • 直接在结果单元格输入公式
  • 自动溢出显示所有唯一值

整列去重

=UNIQUE(C11:C131)
  • 虽然只在 F11 输入公式,结果会自动扩展到其他单元格

示例 2:按列去重(横向数据)

场景:从一行数据中提取唯一值

=UNIQUE(C3:J3, TRUE)
  • 第2参数 TRUE 表示按列比较
  • 适用于横向排列的数据

示例 3:提取仅出现一次的值(真正唯一)

场景:找出只购买过一次的客户

=UNIQUE(A2:A10, FALSE, TRUE)
  • 第3参数 TRUE:只返回出现恰好一次的值
  • 重复出现的客户会被排除

示例 4:多列组合去重

场景:根据姓名和部门组合去重

=UNIQUE(A2:B10)
  • 同时检查 A 列(姓名)和 B 列(部门)
  • 只有当两列都相同时才视为重复

只提取姓名唯一值

=UNIQUE(A2:A10)

示例 5:配合 SORT 排序去重

场景:提取唯一值并自动排序

=SORT(UNIQUE(B2:B16))
  • 先用 UNIQUE 去重
  • 再用 SORT 按字母升序排列

降序排列

=SORT(UNIQUE(B2:B16), , -1)

示例 6:配合 FILTER 条件去重

场景:先筛选再提取唯一值

=UNIQUE(FILTER(D2:D17, A2:A17=G1))
  • 先用 FILTER 筛选出符合 G1 条件的记录
  • 再用 UNIQUE 提取唯一产品列表

去除空值后去重

=UNIQUE(FILTER(A2:A500, A2:A500<>""))
  • 先过滤掉空单元格,再提取唯一值

示例 7:配合 TEXTJOIN 合并唯一值

场景:将唯一值合并为逗号分隔的字符串

=TEXTJOIN(", ", TRUE, UNIQUE(B2:B20))
  • 提取唯一值后用 TEXTJOIN 合并
  • 适用于生成下拉列表选项

示例 8:跨工作表去重

场景:合并多个工作表数据后去重

=UNIQUE(VSTACK('1月:12月'!A2:A100))
  • 先用 VSTACK 合并全年数据
  • 再用 UNIQUE 去除重复客户

示例 9:创建动态下拉列表

场景:根据数据自动生成下拉选项

=UNIQUE(SORT(B2:B100))
  • 去重并排序后,作为数据验证的源
  • 数据新增时,下拉列表自动更新

示例 10:找出两列差异(对比唯一值)

场景:比较两列,提取只在一列中出现的值

=UNIQUE(FILTER(A2:A10, COUNTIF(B2:B10, A2:A10)=0))
  • 提取在 A 列但不在 B 列的唯一值
  • 实现数据对比功能

五、注意事项

注意点说明
版本要求仅 Excel 365、Excel 2021、Excel 网页版支持
#SPILL! 错误结果区域被占用时显示,需清空下方/右侧单元格
空白与 0空单元格和数字 0 被视为不同值,都会保留
跨工作簿引用其他工作簿时,源文件必须打开,否则返回 #REF!
结构化引用使用 Excel 表格(Ctrl+T)可自动扩展范围
旧版兼容旧版 Excel 不支持,可用 Remove Duplicates 功能替代

六、UNIQUE vs 删除重复项功能对比

特性删除重复项功能UNIQUE 函数
操作方式手动菜单操作公式自动计算
动态更新❌ 需重复操作自动刷新
结果位置覆盖原数据可放置到任意位置
灵活性固定操作可嵌套其他函数
撤销无法撤销(破坏性)随时可修改公式

七、推荐组合技巧

组合函数用途示例
SORT去重后排序=SORT(UNIQUE(A:A))
FILTER条件去重=UNIQUE(FILTER(A:A, B:B="条件"))
TEXTJOIN合并唯一值=TEXTJOIN(",", , UNIQUE(A:A))
COUNTA统计唯一值数量=COUNTA(UNIQUE(A:A))
VSTACK/HSTACK多表合并去重=UNIQUE(VSTACK(表1, 表2))
INDEX+SEQUENCE分批提取=INDEX(UNIQUE(A:A), SEQUENCE(5))

八、常见问题解决

问题解决方案
包含空值先用 FILTER 过滤:FILTER(A:A, A:A<>"")
大小写敏感UNIQUE 本身区分大小写,如需忽略大小写,先用 UPPER/LOWER 统一
部分匹配去重需先用 LEFT/RIGHT/MID 提取关键部分再 UNIQUE
结果太长配合 TAKE 或 CHOOSEROWS 限制输出数量

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注