Excel办公小技巧|使用公式提取唯一数据,办公必会技能,Excel办公实操

剔除重复数据提取唯一信息是数据处理中很常见的应用 , 在Excel中提供了很多去除重复值的功能 , 例如【数据】选项卡中的【删除重复项】
Excel办公小技巧|使用公式提取唯一数据,办公必会技能,Excel办公实操
文章图片
【高级筛选】中的"选择不重复的记录"等
Excel办公小技巧|使用公式提取唯一数据,办公必会技能,Excel办公实操
文章图片
当然 , 使用函数公式也可以进行唯一值的提取 。
例如 , 某公司部分员工薪资记录如图所示
Excel办公小技巧|使用公式提取唯一数据,办公必会技能,Excel办公实操
文章图片
提取其中C列所包含的各个部门名称 , 可以使用下面的数组公式并向下复制填充:
=IF(ROW(1:1)>SUM(1/COUNTIF(C$2:C$102,C$2:C$102)),"",INDEX(C$1:C$102,SMALL(IF(MATCH(C$2:C$102,C$2:C$102,0)+1=ROW($2:$102),ROW($2:$102)),ROW(1:1))))
Excel办公小技巧|使用公式提取唯一数据,办公必会技能,Excel办公实操
文章图片
上面这个公式比较复杂 , 可以分几个部分来理解:
=SUM(1/COUNTIF(C$2:C$102,C$2:C$102))
这部分公式的作用是获取C列部门名称中唯一值的总数 。 COUNTIF(C$2:C$102,C$2:C$102)通过数组运算得到一个数组结果 , 即C2:C102区域中每个单元格在整列中所出现的次数 。
Excel办公小技巧|使用公式提取唯一数据,办公必会技能,Excel办公实操
文章图片
将这个数组求其倒数(被1除)然后求和就可以得到唯一值的总个数(每一组重复值的倒数和均为1) 。
=IF(MATCH(C$2:C$102,C$2:C$102,0)+1=ROW($2:$102),ROW($2:$120))
这部分公式的作用是返回唯一值在列中首次出现时的行号 。 MATCH(C$2:C$102,C$2:C$102,0)+1通过数组运算得到一个数组结果 , 即C2:C102区域中每个单元格数据在整列中首次出现时的行号
对于列中的重复值 , 根据MATCH函数的特性 , 并不一定会返回其自身的所在位置 , 而是会返回与其相同内容的单元格首次出现的位置 。
将上述结果与ROW($2:$102)进行对比 , 就可以判断各唯一值首次出现时的行号 。 然后通过IF函数取得这些行号用于后续的引用 。
Excel办公小技巧|使用公式提取唯一数据,办公必会技能,Excel办公实操
文章图片
公式的其他部分结构与提取所有满足条件的数据公式相似 , 此处不再赘述 。
在Excel中新增的IFERROR函数可以用于排错处理 , 可以将上述公式简化为:=IFERROR(IF(ROW(2:2)>SUM(1/COUNTIF(C$2:C$102,C$2:C$102)),"",INDEX(C$1:C$102,SMALL(IF(MATCH(C$2:C$102,C$2:C$102,0)+1=ROW($2:$102),ROW($2:$102)),ROW(2:2)))),"函数错误了")
Excel办公小技巧|使用公式提取唯一数据,办公必会技能,Excel办公实操
文章图片
学会了这些函数吗?当前有的通信可能对这些函数特别陌 , 没关系
【Excel办公小技巧|使用公式提取唯一数据,办公必会技能,Excel办公实操】点击一下视频可以掌握办公中的常用函数技巧


    推荐阅读