分享

Excel特别有用的函数之UNIQUE函数

 ExcelEasy 2021-02-02

UNIQUE函数是Excel新版本中才推出的函数,它可以极大的简化我们的数据处理和分析工作。


01

语法

UNIQUE函数的作用是返回一个区域(或数组)的唯一值:

它的语法是这样的:

它有3个参数:array,by_col,exactly_once,它们的含义分别是:

  • array,表示源数据区域或者数组,例如:A1:F30

  • by_col指示返回唯一列或者唯一行,用TRUE/FALSE表示,TRUE=唯一列,FALSE=唯一行。这个参数可以省略,缺省情况是FALSE,表示返回唯一行

  • exactly_once指示返回的数据内容,用TRUE/FALSE表示,TRUE=返回所有只出现一次的数据,FALSE=返回所有数据,但是每个数据只返回一次。缺省是FALSE

这个函数是动态数组函数。返回的是数组,可以“溢出”。

具体用法可以参考下面的例子:

在这个例子中,第二个参数是FASLE,表示返回表2的唯一行,第三个参数是FASLE,表示返回所有的不重复的行数据(重复的数据只返回一次)。需要注意的是,这里判断重复的条件是所有列的数据都相同。

这个公式的第2,3个参数可以省略,因此可以写成:


=UNIQUE(表2)

下面的例子展示了返回所有不重复的数据行:

在这里,最后一个参数是TRUE,返回的是所有不重复行。因此,源数据中的产品a由于两行中名称和数量都一样,就没有出现在返回结果中。

下面的例子展示了返回唯一列的行为

这个公式的第二个参数是TRUE,因此需要比较的是各列是否重复,在返回值中C,E两列由于重复,就返回了其中第一列的数据。


02

UNIQUE函数的两个具体应用

这个函数帮助我们轻松获得原来很难获得(或者比较麻烦)的结果。比如,假设我们有下面的数据:

我们想得到有多少种不同的产品在销售,即获得产品的不重复计数。

以前,我们介绍过通过其他方法获得不重复计数的方法(见文章:不重复计数),主要有两种方法,一种是加辅助列,写一个比较难以理解的公式,另外一种是通过Power Pivot的DISTINCTCOUNT来解决。

现在有了UNIQUE函数,这个事情轻而易举,只要使用下面的公式就可以了:


=COUNTA(UNIQUE(表1[产品]))

还可以使用下面的公式统计一下只出现一次 的产品个数:


=COUNTA(UNIQUE(表1[产品],,TRUE))

除了不重复计数外,还有一个典型的应用场景:下拉列表。

假设我们想建立一个动态图表,根据选择的产品来展示该产品的销售趋势。就需要使用数据验证建立下拉列表。具体方法我们以前也介绍过。不过比较麻烦,首先,我们需要复制C列(产品列)数据,然后通过删除重复项得到不重复列表,将这个不重复列表作为数据来源。

这是一个比较麻烦的过程,并且得到不重复列表的过程是个手动操作,不是一个自动化的过程。如果源数据改变了,增加了或减少的产品,就必须手动重复这个过程,效率很低。

我们也可以使用Power Query来实现这个过程。不过Power Query在一些简单场景中显得过于“重”了。其实,我们可以使用UNIQUE函数来实现这个过程。

首先,使用公式:


=UNIQUE(表1[产品])

得到产品的不重复列表。

然后选中需要设置数据验证的单元格,点击数据验证,:

在其中选择“序列”,将来源设置为:


=$F$3#

其中F3是输入UNIQUE公式的单元格,#是一个标志,表示整个“溢出”区域。下拉列表就做好了:

大功告成!

今天的分享就到这里!

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多