跳转至

UNIQUE 函数

函数概述

UNIQUE 函数用于从区域或数组中提取不重复的值,并以“溢出数组”的方式返回结果(即结果会自动向下/向右填充到相邻单元格)。它常用于:

  • 从一列名单中提取去重名单
  • 从多列组合中提取唯一行记录
  • 配合排序、筛选函数快速生成唯一清单

UNIQUE 返回的是一个动态数组,源数据变化后,结果会自动更新。

基础语法

=UNIQUE(array,[by_col],[exactly_once])

参数说明

参数名 是否必填 含义 可选值与说明
array 要提取唯一值的区域或数组 可为单列、单行、多列多行
by_col 按列或按行判断唯一 FALSE/省略:按行;TRUE:按列
exactly_once 是否只返回“仅出现一次”的值 FALSE/省略:返回所有不重复值;TRUE:只返回出现一次的值

小提示:当 array 是二维区域时,“按行”会把每一行作为整体去重;“按列”会把每一列作为整体去重。

基础用法示范

示例1:单列去重

目标:从“姓名”列提取不重复姓名。

数据源

姓名
张三
李四
张三
王五
李四

公式

=UNIQUE(姓名列)

结果说明 返回:张三、李四、王五(顺序通常按首次出现顺序返回)。


示例2:仅取出现一次

目标:只返回“只出现过一次”的姓名。

数据源(同示例1)

公式

=UNIQUE(姓名列,,TRUE)

结果说明 返回:王五(因为张三、李四都重复出现过)。


示例3:多列唯一行

目标:从“部门-姓名”两列中提取唯一组合行。

数据源

部门 姓名
销售 张三
销售 张三
技术 张三
技术 李四

公式

=UNIQUE(部门姓名两列区域)

结果说明 返回唯一的行组合:

  • 销售 张三
  • 技术 张三
  • 技术 李四

示例4:按列去重

目标:把每一列当成整体,提取不重复的列。

数据源

A列 B列 C列
1 1 2
2 2 3
3 3 4

公式

=UNIQUE(A1:C3,TRUE)

结果说明 按“列”比较整体是否相同,返回不重复的列集合(适合做列模板去重、列向量集合去重)。


示例5:配合排序

目标:去重后再排序输出。

数据源:一列城市名单(含重复)

公式

=SORT(UNIQUE(城市列))

结果说明 先去重,再按默认升序排序,得到整洁的唯一清单。

总结

  • UNIQUE 用于提取唯一值,返回动态数组并自动溢出填充。
  • array 支持一维与二维;二维时可按行去重或按列去重。
  • exactly_once=TRUE 可筛出“只出现一次”的记录,适合做异常值、唯一事件清单。
  • 与 SORT、FILTER 等函数搭配,可快速生成可维护的唯一列表与报表结果。