Excel 的 UNIQUE() 函数可以轻松解决去重这一常见又烦人的任务。它是一个简单的公式,但却是必学工具,因为正如您将在本文中看到的,它能从任意范围中提取唯一条目——无论列表有多长(在合理范围内)或变动多频繁。本文将提供清晰的示例和可直接使用的代码块,您只需稍作修改即可复制粘贴到工作表中。希望对您有所帮助。
Excel UNIQUE() 函数的作用是什么?
先说核心思路。UNIQUE() 会从某个范围或数组返回一个唯一值列表,并自动“溢出”填充所需数量的单元格。这类结果称为动态数组。
这使它非常适合快速去除列中的重复项,或为下拉菜单、报告生成最新的列表。
需要提醒的是,UNIQUE() 仅适用于 Microsoft 365 版 Excel、Excel 2021 和网页版 Excel。如果您使用的是更早的版本,需要采用替代方案,本文稍后也会介绍。
Excel UNIQUE() 函数语法
了解了它的作用,下面给出语法:
=UNIQUE(array, [by_col], [exactly_once])技术支持
各个参数含义如下:
接下来在练习示例中,您将看到这些参数的实际用法。
在列表中使用 Excel UNIQUE()
假设 A 列(A2 到 A10)有一个城市列表,其中有些城市重复。要仅提取唯一的城市名称,输入:
=UNIQUE(A2:A10)技术支持
Excel 会从输入公式的单元格开始,将唯一的城市名称“溢出”填充到下方单元格。只要函数存在,列表就会随源数据变化而自动更新,这也能极大节省时间。如果列表将来会增长,您可以预留更长的范围以应对扩展。
跨多列使用 Excel UNIQUE()
如果数据横跨多列怎么办?例如您有一个两列表(A2:B10),包含姓名和部门,想要每个姓名/部门组合只出现一次。这是该函数一个不太为人所知却很实用的能力。
=UNIQUE(A2:B10)技术支持
该公式会返回每个姓名与部门的唯一组合,去除重复的行。如果您只关心唯一的姓名,可以像前面所示那样,让 UNIQUE() 只引用姓名这一列。
=UNIQUE(A2:A10)技术支持
使用 Excel UNIQUE() 显示只出现一次的值
如前所述,UNIQUE() 默认会返回所有不同值,即使它们出现多次。但实际上,您可以用 UNIQUE() 过滤掉所有重复出现的值,只显示那些恰好出现一次的值。(我之前展示语法就是为此。)在下面的示例中,我们将使用 exactly_once 参数。
=UNIQUE(A2:A10, FALSE, TRUE)技术支持
此公式仅返回 A2:A10 中出现一次的值,便于发现这些一次性条目。注意 New York、Chicago 和 Boston 未被包含。
使用 Excel UNIQUE() 获取唯一列而非唯一行
目前我们主要提取的是唯一行,但 UNIQUE() 也可用于查找唯一列。若将 by_col 设为 TRUE,Excel 会改变默认行为,在指定范围内按列比较并仅返回不同的列。我承认这不太常见,但在某些场景下很有用。
=UNIQUE(A1:F1, TRUE)技术支持
此处,Excel 会检查所选范围内的每一列,仅返回彼此不同的列。
Excel UNIQUE() 与其他函数搭配
既然您已熟悉 UNIQUE() 的基本用法,我们来看看它与其他动态数组函数的配合。
要按字母顺序对唯一值排序,只需用 SORT() 包裹 UNIQUE():
=SORT(UNIQUE(A2:A10))技术支持
或者,如果您想基于某个条件(例如仅“Active”条目)提取唯一值,可将 UNIQUE() 与 FILTER() 结合使用。(这又是一个数组公式,供您继续练习。)
=UNIQUE(FILTER(A2:A10, B2:B10="Active"))技术支持
此公式仅返回 A2:A10 中,对应 B2:B10 行被标记为“Active”的唯一项。
Excel UNIQUE() 的替代方案
您或许会好奇在 UNIQUE() 出现之前大家是如何处理的。过去,提取唯一值通常需要更长的公式,比如下面这个(这里不完整展开):
=IFERROR(INDEX(...技术支持
或者,如果不知道 UNIQUE(),您可能会费力地手动删除重复项,或者使用数据透视表这一常见方法。
这些方法依然可用,也适合旧版本 Excel,但如果您使用的是新版本,强烈建议使用 UNIQUE(),效率更高。
Excel UNIQUE() 常见问题
最后总结一些常见问题,便于您排查:
结果会按需“溢出”到足够多的行或列。如果您在这些单元格中输入内容,会出现 #SPILL! 错误——请保持这些单元格为空。
UNIQUE() 不区分大小写,会将 “Apple” 和 “apple” 视为相同。
当源范围更新时,UNIQUE() 的输出会自动更新,保持数据最新。
结论
当您需要清洗数据、创建下拉列表,或用比编写其他公式更省力的方式汇总信息时,Excel 的 UNIQUE() 函数就能派上用场。我们还练习了如何将 UNIQUE() 与 SORT()、FILTER() 等函数配合使用。Tak e our Advanced Excel Functions course to learn even more, such as lookup functions and database functions.
Excel 的
UNIQUE()函数可以轻松解决去重这一常见又烦人的任务。它是一个简单的公式,但却是必学工具,因为正如您将在本文中看到的,它能从任意范围中提取唯一条目——无论列表有多长(在合理范围内)或变动多频繁。本文将提供清晰的示例和可直接使用的代码块,您只需稍作修改即可复制粘贴到工作表中。希望对您有所帮助。Excel UNIQUE() 函数的作用是什么?
先说核心思路。
UNIQUE()会从某个范围或数组返回一个唯一值列表,并自动“溢出”填充所需数量的单元格。这类结果称为动态数组。这使它非常适合快速去除列中的重复项,或为下拉菜单、报告生成最新的列表。
需要提醒的是,
UNIQUE()仅适用于 Microsoft 365 版 Excel、Excel 2021 和网页版 Excel。如果您使用的是更早的版本,需要采用替代方案,本文稍后也会介绍。Excel UNIQUE() 函数语法
了解了它的作用,下面给出语法:
各个参数含义如下:
array:要从中提取唯一值的范围或数组。by_col(可选):设为TRUE时按列比较数据而非按行。多数情况下可留空或设为FALSE。exactly_once(可选):若只想返回在源数组中仅出现一次的值,请设为TRUE。默认(FALSE)则返回所有不同值,即使它们出现多次。接下来在练习示例中,您将看到这些参数的实际用法。
在列表中使用 Excel UNIQUE()
假设 A 列(A2 到 A10)有一个城市列表,其中有些城市重复。要仅提取唯一的城市名称,输入:
Excel 会从输入公式的单元格开始,将唯一的城市名称“溢出”填充到下方单元格。只要函数存在,列表就会随源数据变化而自动更新,这也能极大节省时间。如果列表将来会增长,您可以预留更长的范围以应对扩展。
跨多列使用 Excel UNIQUE()
如果数据横跨多列怎么办?例如您有一个两列表(A2:B10),包含姓名和部门,想要每个姓名/部门组合只出现一次。这是该函数一个不太为人所知却很实用的能力。
该公式会返回每个姓名与部门的唯一组合,去除重复的行。如果您只关心唯一的姓名,可以像前面所示那样,让
UNIQUE()只引用姓名这一列。使用 Excel UNIQUE() 显示只出现一次的值
如前所述,
UNIQUE()默认会返回所有不同值,即使它们出现多次。但实际上,您可以用UNIQUE()过滤掉所有重复出现的值,只显示那些恰好出现一次的值。(我之前展示语法就是为此。)在下面的示例中,我们将使用exactly_once参数。此公式仅返回 A2:A10 中出现一次的值,便于发现这些一次性条目。注意 New York、Chicago 和 Boston 未被包含。
使用 Excel UNIQUE() 获取唯一列而非唯一行
目前我们主要提取的是唯一行,但
UNIQUE()也可用于查找唯一列。若将by_col设为TRUE,Excel 会改变默认行为,在指定范围内按列比较并仅返回不同的列。我承认这不太常见,但在某些场景下很有用。此处,Excel 会检查所选范围内的每一列,仅返回彼此不同的列。
Excel UNIQUE() 与其他函数搭配
既然您已熟悉
UNIQUE()的基本用法,我们来看看它与其他动态数组函数的配合。要按字母顺序对唯一值排序,只需用
SORT()包裹UNIQUE():或者,如果您想基于某个条件(例如仅“Active”条目)提取唯一值,可将
UNIQUE()与FILTER()结合使用。(这又是一个数组公式,供您继续练习。)此公式仅返回 A2:A10 中,对应 B2:B10 行被标记为“Active”的唯一项。
Excel UNIQUE() 的替代方案
您或许会好奇在
UNIQUE()出现之前大家是如何处理的。过去,提取唯一值通常需要更长的公式,比如下面这个(这里不完整展开):或者,如果不知道
UNIQUE(),您可能会费力地手动删除重复项,或者使用数据透视表这一常见方法。这些方法依然可用,也适合旧版本 Excel,但如果您使用的是新版本,强烈建议使用
UNIQUE(),效率更高。Excel UNIQUE() 常见问题
最后总结一些常见问题,便于您排查:
结果会按需“溢出”到足够多的行或列。如果您在这些单元格中输入内容,会出现
#SPILL!错误——请保持这些单元格为空。UNIQUE()不区分大小写,会将 “Apple” 和 “apple” 视为相同。当源范围更新时,
UNIQUE()的输出会自动更新,保持数据最新。结论
当您需要清洗数据、创建下拉列表,或用比编写其他公式更省力的方式汇总信息时,Excel 的
UNIQUE()函数就能派上用场。我们还练习了如何将UNIQUE()与SORT()、FILTER()等函数配合使用。Take our Advanced Excel Functions course to learn even more, such as lookup functions and database functions.