结合之前学习的 FILTER、GROUPBY、INDEX 等核心函数,以及「筛选非空部门+提取不重复名称」的实战需求,从核心定位→完整语法→底层原理→基础实战→进阶联动→避坑指南 全流程拆解,所有示例都适配常用的 原始数据源!A2:C17(A=姓名、B=部门、C=工资),完全贴合Excel学习节奏,可直接复制套用。


一、核心定位:UNIQUE 到底是干嘛的?

UNIQUE 是 Excel 365/2021 及以上版本专属的动态数组去重函数 ,核心作用可以用一句话概括:

从你指定的单元格区域中,自动提取不重复的唯一值 ,无需复杂公式、无需下拉填充,结果自动向下/向右溢出显示。

它是你实现「去重」需求的最优解,完美解决了传统去重方法的所有痛点:

  • 对比高级筛选:不用手动操作,数据源更新后结果自动刷新,完全动态

  • 对比 INDEX+MATCH+COUNTIF 复杂数组公式:1行代码搞定,逻辑极简,零学习成本

  • 核心优势:和你之前学的 FILTER、GROUPBY 等函数无缝联动,可实现「筛选→去重→分组统计」全流程连贯操作


二、完整语法(中文版官方)+ 参数详解

标准公式

参数详解(1个必填,2个可选,超简单)

  • 参数名称|中文名称|必填/可选|核心规则|新手注意事项

  • 要去重的数组|数据源区域|必填|你要提取不重复值的单元格区域,可以是单列、单行、多列多行的连续区域|必须是连续的单元格区域,不支持分散的不连续区域

  • 按列去重|去重维度|可选,默认 FALSE|取值:TRUE/FALSE;- FALSE(默认):按行 去重,整行内容完全一致才会被去重;- TRUE:按列 去重,整列内容完全一致才会被去重|90%的场景用默认的 FALSE 即可,仅提取不重复表头时用 TRUE

  • 仅提取唯一出现一次的值|去重规则|可选,默认 FALSE|取值:TRUE/FALSE;- FALSE(默认):提取所有不重复值,不管出现次数;- TRUE:仅提取在数据源中只出现过1次 的唯一值,重复出现的会被全部过滤|进阶场景使用,比如筛选只出现过1次的部门、姓名

补充:无结果提示参数(你之前用到的)

Excel 365 中,UNIQUE 支持额外加一个「无结果提示」参数,当数据源全为空/无符合条件的值时,显示你指定的文本,不会出现 #CALC! 报错,和你之前学的 FILTER 函数完全一致:


三、核心工作原理:新手必懂的3个底层规则

这是你用好 UNIQUE 的核心,也是90%的新手都会踩坑的地方,必须先吃透:

1. 动态数组自动溢出特性

UNIQUE 是Excel 365的动态数组函数,核心特性是:

你只需要在1个单元格 中输入公式,按回车后,结果会自动向下/向右铺满整个空白区域,无需手动下拉填充,和你之前学的 FILTER 函数完全一致。

举个例子:你在E2单元格输入 =UNIQUE(B2:B17),按回车后,Excel会自动把所有不重复的部门名称,从E2开始向下依次填充,不用你手动拉公式。

2. 去重匹配规则

UNIQUE 的去重逻辑是完全匹配 ,核心规则:

  • 文本内容:Excel默认不区分大小写 ,比如"销售部"和"销售部"(大小写/全角半角)会被判定为相同内容,自动去重

  • 数字/日期:必须完全相等才会被去重,比如5000和5000.0会被判定为相同,2023-01-01和2023/1/1也会被判定为相同

  • 多列去重:按行去重时,整行的所有列内容必须完全一致 ,才会被去重;只要有一列内容不同,就会被保留为独立的唯一值

  • 空值处理:默认会把空单元格/空行当成一个独立的唯一值,保留在结果中;如果要排除空值,必须搭配 FILTER 函数(就是你之前的需求)

3. 结果排序规则

UNIQUE 提取的不重复值,默认按照数据源中第一次出现的顺序排列 ,不会自动排序;如果需要按拼音/数值排序,搭配 SORT 函数即可,后面进阶场景会讲。


四、基础实战场景(适配你的数据源,直接复制可用)

所有示例都基于你的 原始数据源!A2:C17,A=姓名、B=部门、C=工资,可直接复制粘贴使用,完全贴合你的业务需求。

场景1:基础单列去重(最常用,提取不重复的部门名称)

  • 效果:自动溢出显示B列所有不重复的部门名称,按照第一次出现的顺序排列

  • 注意:这个公式会保留空行,如果B列有空单元格,空值也会出现在结果中

场景2:排除空值的单列去重 (你的核心需求,完美适配)

  • 公式拆解:和你之前的需求完全一致,先通过 FILTER 排除B列的空行,再通过 UNIQUE 提取不重复的部门名称

  • 优化:加了 "无有效部门数据" 无结果提示,B列全为空时不会出现 #CALC! 报错

  • 效果:自动溢出显示所有非空、不重复的部门名称,完全符合你的需求

场景3:多列去重(提取不重复的部门+工资组合)

  • 核心逻辑:按行去重,只有当「部门+工资」两列的内容完全一致时,才会被去重

  • 效果:自动溢出显示所有不重复的「部门+工资」组合,两列内容同时去重

场景4:按列去重(提取不重复的表头)

  • 核心逻辑:第二个参数填 TRUE,按列去重,整列内容完全一致才会被去重

  • 适用场景:提取表头的唯一值,或者横向的单行数据去重

场景5:仅提取出现一次的唯一值(筛选只出现过1次的部门)

  • 核心逻辑:第三个参数填 TRUE,仅提取在B列中只出现过1次 的部门名称,重复出现的部门会被全部过滤

  • 适用场景:筛选唯一值、排除重复出现的内容


五、进阶联动场景

这是学习 UNIQUE 的核心价值,和之前学的 FILTER、GROUPBY、SORT 等函数无缝联动,实现「筛选→去重→排序→统计」全流程连贯操作。

1. UNIQUE + FILTER 联动:先筛选后去重(最常用)

需求:先筛选2023年入职的员工,再提取不重复的部门名称

  • 公式拆解:先通过 FILTER 筛选出2023年入职的员工对应的部门,再通过 UNIQUE 提取不重复的部门名称

  • 完全衔接你之前学的日期筛选、FILTER函数的内容,逻辑连贯

2. UNIQUE + GROUPBY 联动:先去重后分组统计

需求:先提取不重复的部门名称,再按部门汇总工资总额

  • 公式拆解:先提取不重复的部门名称,再通过 GROUPBY 按部门汇总工资总额,完全衔接你之前学的GROUPBY函数的内容

  • 效果:自动生成「不重复部门+对应工资总额」的汇总表,1行公式搞定

3. UNIQUE + SORT 联动:去重后自动排序

需求:提取不重复的部门名称,并按拼音升序排序

  • 核心逻辑:先去重,再通过 SORT 函数按拼音升序排序,结果自动溢出

  • 优化:如果要按降序排序,写 =SORT(UNIQUE(…), , -1) 即可

4. UNIQUE + XLOOKUP 联动:去重后精准查询

需求:提取不重复的部门名称,再自动匹配每个部门的最高工资

  • 核心逻辑:先提取不重复的部门名称,再通过 XLOOKUP 反向查找每个部门的最高工资,完全衔接你之前学的XLOOKUP函数的内容

六、常见坑&避坑指南(90%的新手都会踩)

坑1:版本不兼容,公式直接报错

这是最常见的坑,UNIQUE 是Excel 365/2021及以上版本的专属函数,Excel 2019及以前的旧版本没有这个函数,粘贴公式后会直接报错 #NAME?。

解决办法

  • Excel 365版本:直接使用,优先首选

  • 旧版本Excel:用你之前学的 INDEX+MATCH+COUNTIF 数组公式实现去重,或者用高级筛选功能

坑2:去重结果中出现空值,没有被排除

很多新手写公式时,忘记了空行的判断,导致空单元格也被当成唯一值,出现在结果中。

解决办法

  • 必须搭配 FILTER 函数排除空值,公式固定写法:=UNIQUE(FILTER(区域, 区域<>""), “无数据”)

  • 这个写法会自动排除区域中的所有空行/空单元格,只保留非空的不重复值,完全解决你的空值问题

坑3:多列去重结果不符合预期,没有去重

很多新手用多列去重时,发现结果还是有重复项,核心原因是没有理解「整行完全一致才会被去重」的规则。

解决办法

  • 多列去重时,必须保证整行的所有列内容完全一致 ,才会被去重;只要有一列内容不同,就会被保留

  • 示例:部门列都是"销售部",但工资列一个是5000,一个是6000,整行内容不一致,不会被去重,会被当成两个独立的唯一值

坑4:溢出报错 #SPILL!

和你之前学的 FILTER 函数一样,UNIQUE 也会出现溢出报错,核心原因是公式要溢出的区域被其他内容挡住了。

解决办法

  • 清空公式下方/右侧的所有单元格,给 UNIQUE 留出足够的空白溢出区域,重新按回车即可

坑5:无结果时出现 #CALC! 报错

当数据源全为空、或者没有符合条件的内容时,UNIQUE 会默认返回 #CALC! 报错,影响表格的整洁性。

解决办法

  • 加最后一个「无结果提示」参数,公式固定写法:=UNIQUE(区域, , , “无有效数据”)

  • 当没有符合条件的内容时,会显示你指定的文本,不会出现报错,和你之前学的 FILTER 函数完全一致

坑6:需要区分大小写去重,默认不生效

Excel默认的 UNIQUE 函数不区分大小写,比如"销售部"和"销售部"(大小写)会被判定为相同内容,自动去重。

解决办法

  • 搭配 EXACT 函数实现区分大小写的去重,公式:=UNIQUE(FILTER(原始数据源!B2:B17, EXACT(原始数据源!B2:B17, 原始数据源!B2:B17)))

七、UNIQUE vs 其他去重方法对比表

结合之前学的所有去重方法,给出清晰的决策标准,不用纠结什么时候用什么方法:

  • 去重方法|核心优势|核心缺点|适用场景

  • UNIQUE函数|公式极简、1行搞定、动态更新、自动溢出、和其他函数无缝联动|仅Excel 365/2021+版本支持|如正在用Excel 365版本,优先首选,所有动态去重场景

  • 高级筛选|不用写公式、可视化操作、零门槛、全Excel版本兼容|一次性操作,数据源更新后需要重新执行,不会自动刷新|一次性去重需求,不需要动态更新的场景,零基础首选

  • INDEX+MATCH+COUNTIF|全Excel版本兼容、灵活可控、可实现复杂去重逻辑|公式复杂、需要下拉填充、旧版需要按数组公式回车|Excel 2019及以前旧版本,需要兼容低版本的场景


八、最终总结

UNIQUE 函数是Excel 365中实现「去重」需求的最优解,核心价值可以用3句话概括:

  • 1. 基础用法 :1行公式搞定单列/多列去重,自动溢出,无需下拉填充

  • 2. 核心价值 :和之前学的 FILTER、GROUPBY 等函数无缝联动,实现「筛选→去重→排序→统计」全流程连贯操作

  • 3. 避坑核心 :必须搭配 FILTER 排除空值,加无结果提示避免报错,注意版本兼容性

「先筛选出非空的部门,再提取不重复的部门名称」,最终的完美公式就是:

这个公式排除了空值,加了无结果提示,自动溢出,可直接复制到Excel中使用。