Excel UNIQUE函数:快速找到唯一值的方法

UNIQUE函数:在Microsoft Excel中快速找到唯一值的方法

在本教程中,我们将学习如何通过使用 UNIQUE函数 以及动态数组来快速在Microsoft Excel中找到唯一值;我们将学习一种简单的公式,以在列或行中找到唯一值,在基于条件的多列中找到唯一值等等。

此外,众所周知,在之前的Microsoft Excel版本中,提取唯一值的列表也是一个难题。在本教程中,我们将看到如何轻松地发现仅出现一次的唯一性,提取列表中的所有不同项,忽略空白等等。

每个任务都需要结合多个函数和多行数组公式,只有Excel专家才能完全理解。

此外,引入Microsoft Excel 365中的UNIQUE函数改变了一切!以前被视为火箭科学的东西变得如ABC般容易了。现在,我们不需要成为公式专家,就可以根据一个或多个条件从范围中获取唯一值,并按字母顺序排列结果。

  1. 在Microsoft Excel中,UNIQUE函数是什么意思?
    1. 在Microsoft Excel中使用的基本UNIQUE公式是什么
    2. UNIQUE函数:重要说明和提示。
  2. 如何找到唯一值:公式示例?
    1. 如何提取仅出现一次的相应值?
    2. 如何找出出现多次的不同值?
    3. 如何在多列(唯一行)中找到唯一值?
    4. Microsoft Excel中按字母顺序排列的唯一值。
    5. 将多列中的特定唯一值合并到一个单元格中。
    6. 根据条件获取相应唯一值的列表。
    7. 基于多个条件的唯一值。
    8. 在Microsoft Excel中使用多个或条件找到唯一值。
    9. 如何在Microsoft Excel中找到唯一值,忽略空白单元格?
    10. 如何找出非相邻列中的唯一值?
    11. 如何找出唯一值并处理错误?

在Microsoft Excel中,UNIQUE函数是什么意思

众所周知,在Microsoft Excel中,UNIQUE函数将返回给定范围或数组中的唯一值列表,它可用于处理以下任何数据:

  1. 文本。
  2. 数字。
  3. 时间。
  4. 日期等。

该函数主要归类为动态数组函数,其结果是动态数组,会自动填充到相邻的单元格中,无论是垂直还是水平。

语法:

可以在Microsoft Excel中使用的UNIQUE函数的语法如下:

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

在其中,

  1. Array(必选): 可用于返回唯一值的范围或数组。
  2. By_col(可选): 这是一个逻辑值,将指示如何比较数据:
    1. TRUE:将分别比较每列上的数据。
    2. FALSE或省略(默认):也将在行间比较数据。
  3. Exactly_once(可选): 这是一个逻辑值,将定义哪些值被视为唯一:
    1. TRUE:返回仅出现一次的值,这是数据库中唯一的定义。
    2. FALSE或省略(默认):分别在范围或数组中返回所有不同的值。

重要说明。 在 Microsoft Excel for Microsoft 365 和 Excel 2021 版本中才有相应的 UNIQUE 函数。而 Microsoft Excel 2019 和 2016 版本及更早版本不支持动态数组公式,因此在这些版本中 UNIQUE 函数无效。

在 Microsoft Excel 中使用的基本 UNIQUE 公式有哪些?

以下是最简单形式的 Excel 唯一值公式。

主要目标是从给定范围 B2:B10 中提取唯一名称列表。为此,我们需要在 D2 单元格中输入以下公式:

=UNIQUE(B2:B10)

需要注意的是省略了第二个和第三个参数,因为默认值在我们的情况下能够正常工作:我们正在相互比较行,并希望返回范围中的所有不同名称。

然后,当我们按下键盘上的 Enter 键以完成公式时,Excel 将在 D2 单元格输出找到的第一个名称,并将其他名称填充到下面的单元格中。结果,我们也将在选择的列中获得所有唯一的值:

UNIQUE函数:在Microsoft Excel中快速找到唯一值的方法

如果我们的数据跨越B2到I2列,请将第二个参数设置为TRUE以将列与彼此进行比较:

=UNIQUE (B2:I2, TRUE)

然后,在单元格B4中键入上述公式,按Enter键,结果也会水平地溢出到右侧位置。因此,我们将分别获得一行中的唯一值:

UNIQUE函数:在Microsoft Excel中快速找到唯一值的方法

唯一函数:重要的注意事项和提示

在Microsoft Excel中,唯一函数被视为新函数,与其他动态数组函数一样,它也有一些特殊性,我们都应该知道:

  1. 假设唯一函数返回的数组是最终结果(不传递给其他函数)。在这种情况下,Microsoft Excel将动态创建一个大小合适的范围,并用结果填充它。公式只需输入到一个单元格中即可。此外,重要的是,在我们需要输入公式的单元格下方和右侧需要有足够的空单元格;否则,会出现一个错误,即#SPILL错误。
  2. 当源数据发生变化时,结果将自动更新。然而,只有在参考的数组范围之外新增的条目只会在公式中包含一次,除非我们更改数组引用。如果我们希望数组能够自动响应源范围的大小调整,我们可以将范围转换为相应的Excel表格,并使用结构引用或有效地创建一个动态命名范围。
  3. 此外,不同Excel文件之间的动态数组只有在 两个工作簿都打开时 才能正常工作。如果源工作簿关闭,那么链接的唯一公式将返回一个错误,即#REF! 错误。
  4. 与其他动态数组函数一样,唯一函数只能在正常的范围内使用,而不能在表格中使用。将其放在Microsoft Excel表格中将返回#SPILL! 错误。

如何找到唯一值:公式示例

下面的示例将展示唯一函数在Microsoft Excel中的一些更实际的用法。主要思想是以最简单的方式提取唯一值或删除重复值,具体取决于我们自己的观点。

如何提取仅出现一次的唯一值?

要获取在指定范围中仅出现一次的值的列表,将唯一函数的第三个参数设置为TRUE。

例如: 要提取只在获奖者名单中出现一次的名字,我们将使用以下公式:

=UNIQUE (B2:B10,, TRUE)

在这个例子中,B2:B10是源范围,并且第二个参数(by_col)为FALSE或省略,因为我们的数据是按行组织的。

UNIQUE函数:在Microsoft Excel中快速找到唯一值的方法

如何在Excel表格中找到出现多次的不同值?

如果我们的目标是相反的,也就是说我们想要获得在给定范围内出现多次的值的列表,那么我们将使用UNIQUE函数,结合FILTER和COUNTIF函数:

UNIQUE (FILTER (range, COUNTIF (range, range)>1))
  • 例如:要提取出单元格B2:B10中出现多次的不同名称,我们也可以使用此公式:
=UNIQUE (FILTER (B2:B10, COUNTIF (B2:B10, B2:B10)>1))

UNIQUE函数:在Microsoft Excel中快速找到唯一值的方法

上述公式的工作原理

众所周知,在这个公式的核心,FILTER函数过滤掉所有基于出现次数的重复条目,并由函数COUNTIF函数返回。在我们的例子中,COUNTIF的结果就是这个计数数组:

{4;1;3;4;4;1;3;4;3}

比较运算符(>1)将上述数组更改为TRUE和FALSE值,其中TRUE表示出现多次的项:

{TRUE;FALSE;TRUE;TRUE;TRUE;FALSE;TRUE;TRUE;TRUE}

这个特定的数组作为include参数被传递给FILTER函数,告诉函数要包含哪些相应的值在结果数组中:

{“Andrew”;”David”;”Andrew”;”Andrew”;”David”;”Andrew”;”David”}

我们可以注意到,只有与TRUE相对应的值才能有效地保留。

此外,上述数组转到UNIQUE函数的array参数中,去除重复项后高效地输出最终结果:

{“Andrew”;”David”}

注意:值得注意的是,同样地,我们可以轻松过滤掉出现两次或三次以上的唯一值。为此,我们可以相应地更改逻辑比较中的数字。

如何在Microsoft Excel中找到多列(唯一行)中的唯一值?

在这种特定情况下,当我们想要比较两个或多个列,并返回它们之间的唯一值时,我们可以将所有目标列都包含在array参数中。

例如,如果我们想要返回获奖者的唯一名字(列A)和姓氏(列B),那么我们将在单元格E2中输入这个公式:

=UNIQUE (A2:B10)

然后,我们将按下键盘上的Enter键以获得以下结果:

UNIQUE函数:在Microsoft Excel中快速找到唯一值的方法

要获取唯一行,也就是具有在列A、B和C中值的唯一组合的条目,需要使用以下公式:

=UNIQUE(A2:C10)

UNIQUE函数:在Microsoft Excel中快速找到唯一值的方法

如何在Excel中轻松获取按字母顺序排序的唯一值列表?

我们通常如何在Microsoft Excel中按字母顺序排序?就是通过使用Excel内置的功能,即排序或筛选。与此相关的问题是,我们每次选择的源数据更改时都需要重新排序,因为与Excel公式不同,这些功能必须手动重新应用。

此外,通过动态数组函数的引入,以上问题可以轻松解决。但我们需要做的只是将SORT函数直接应用于常规的UNIQUE公式,就像这样:

SORT (UNIQUE (array))

  • 例如: 要提取列A至列C中的唯一值并将结果从A到Z排列,我们将使用以下公式:

=SORT (UNIQUE (A2:C10))

与上面的示例相比,输出结果更容易理解和处理。例如,我们可以看到安德鲁和大卫在两个不同的体育项目中都是赢家:

UNIQUE函数:在Microsoft Excel中快速找到唯一值的方法

重要提示。 在这个例子中,我们通常是按照第一列的值从 A 到 Z 进行排序的,这是 SORT 函数的默认值;因此,可选的 sort_index 和 sort_order 参数被省略。

如何找出多列中的唯一值并将它们连接到一个单元格中?

在多列搜索时,Microsoft Excel 的 UNIQUE 函数默认将每个值输出到一个单独的单元格中。或许,我们会觉得将结果放在一个单元格中会更方便。

为了实现这个目标,我们可以使用“&”符号来连接列,并在它们之间放置所需的分隔符。

例如,我们将 A2:A10 中的名字列与 B2:B10 中的姓氏列连接起来,并使用空格分隔符:

=UNIQUE (A2:A10 &” “&B2:B10)

结果就是我们会在一个列中得到一个全名列表。

UNIQUE函数:在Microsoft Excel中快速找到唯一值的方法

如何根据不同的条件获取唯一值列表?

为了提取带有条件的唯一值,我们可以同时使用Excel的UNIQUE和FILTER函数:

  1. FILTER函数限制了满足给定条件的数值。
  2. UNIQUE函数还将过滤后的列表中的重复项去除。

下面是筛选唯一值公式的通用版本:

UNIQUE(FILTER(array, criteria_range = criteria))

  • 对于本例: 让我们获取特定体育项目的获奖者列表。首先,在某些单元格中输入感兴趣的体育项目,比如F1。然后,我们可以使用以下公式来获取唯一名称:

=UNIQUE(FILTER(A2:B10, C2:C10=F1))

A2:B10是用于查找唯一值的范围,C2:C10是检查条件的范围。

UNIQUE函数:在Microsoft Excel中快速找到唯一值的方法

如何根据多个条件筛选唯一值?

要查找具有两个或更多条件的唯一筛选值,我们可以使用下面显示的表达式来分别构建FILTER函数所需的条件:

UNIQUE (FILTER (array, (criteria_range1 = criteria1) * (criteria_range2 = criteria2)))

公式的结果是一个唯一条目的列表,其中所有指定的条件都为TRUE。在Microsoft Excel中,这也称为AND逻辑。

为了看到这个公式的效果,让我们获取一个在G1(条件1)中获胜的运动员唯一列表,并且在G2(条件2)以下年龄:

使用A2:B10的范围作为数据源,C2:C10作为运动项目(条件范围1),D2:D10作为年龄(条件范围2),公式的形式如下:

=UNIQUE (FILTER (A2:B10, (C2:C10=G1) * (D2:D10 <G2)))

它返回了我们要查找的结果。

UNIQUE函数:在Microsoft Excel中快速找到唯一值的方法

上述公式的工作原理

以下是该公式的逻辑的高层解释:

因此,在FILTER函数的参数中,我们将传递两个或更多的范围/条件对。每个逻辑表达式的结果是一个TRUE和FALSE值的数组。数组的乘积将逻辑值转换为数字,并产生一个1和0的数组。由于乘以零总是得到零,只有满足所有条件的条目在最后的数组中具有一个1。FILTER函数然后过滤掉与0相对应的项目,并将结果分别交给UNIQUE:

如何通过多个OR条件查找筛选的唯一值?

为了得到基于多个OR条件的唯一值列表,即当这个条件或那个条件为TRUE时,我们将添加逻辑表达式而不是将它们相乘:

UNIQUE (FILTER (array, ( criteria_range1 = criteria1) + (criteria_range2 = criteria2)))

  • 例如:要显示足球或曲棍球比赛中的获胜者,我们可以有效地使用这个公式:

=UNIQUE (FILTER (A2:B10, (C2:C10=”Soccer”) + (C2:C10=”Hockey”)))

如果需要,我们当然可以将条件输入到单独的单元格中,并分别引用下面显示的这些单元格:

=UNIQUE (FILTER (A2:B10, (C2:C10=G1) + (C2:C10=G2)))

上述公式的工作原理:

它就像我们测试多个AND条件时一样,我们可以轻松地将几个逻辑表达式放在FILTER函数的参数中,每个表达式都返回一个TRUE和FALSE值的数组。当这些数组相加时,具有一个或多个条件为TRUE的项目将具有一个值为1。所有条件都为FALSE的项目的值为0。因此,满足任何单个条件的任何条目都可以有效地进入传递给UNIQUE函数的数组中。

如何在Microsoft Excel中获取唯一值,忽略空白?

如果我们使用的数据集主要包含一些空白,使用常规公式获得的唯一列表可能会有一个空单元格或零值。这是因为Microsoft Excel的UNIQUE函数设计为返回范围中的所有不同值,包括空白。因此,如果我们的源范围中有零和空单元格,特定的唯一列表将包含2个零,一个代表空单元格,另一个代表零值。

此外,如果源数据包含由一些公式返回的空字符串,唯一列表还将包括一个看起来像空单元格的空字符串(“”):

UNIQUE函数:在Microsoft Excel中快速找到唯一值的方法

而要获取没有空值的唯一值列表,那样的话,我们还需要进行以下操作:

  1. 使用FILTER函数筛选出空单元格和空字符串。
  2. 利用UNIQUE函数将结果限制为唯一值。

通用公式如下:

**UNIQUE (FILTER ( 范围, 范围 <>”)) **

此外,在本例中,单元格D2中的公式如下:

**=UNIQUE (FILTER (B2:B12, B2:B12 <>””)) **

Excel返回了一个没有空单元格的唯一名称列表作为结果:

UNIQUE函数:在Microsoft Excel中快速找到唯一值的方法

如何在Excel中找到特定列的唯一值?

有时候,我们可能想从两个或多个列中提取唯一值,这些列通常不相邻。我们也可能希望在结果列表中重新排序这些列。这两个任务都可以通过使用CHOOSE函数来实现。

UNIQUE (CHOOSE({1, 2}, range1, range2))

假设我们从示例表中想要获取基于列A和列C中的值的获胜者列表,并按照以下顺序排列结果:首先是一项运动(列C),然后是运动员姓名(列A)。为了实现这个目标,我们可以按照以下方式构建公式:

=UNIQUE (CHOOSE({1, 2}, C2:C10, A2:A10))

将会得到以下结果:

UNIQUE函数:在Microsoft Excel中快速找到唯一值的方法

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程

Excel 精选教程