Excel特别有用的函数之UNIQUE函数
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公式的单元格,#是一个标志,表示整个“溢出”区域。下拉列表就做好了:
大功告成!
今天的分享就到这里!