广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    Excel中利用数组公式去除重复数值

    来源:网络收集  点击:  时间:2024-08-18
    【导读】:
    在一些时候,我们可能需要把一列数据中的不重复数据筛选出来,当然通过Excel自带的筛选功能可以实现,但不能实时同步提取数值,这时候就需要用到公式。在这里简单地分步骤介绍下如何利用数组公式提取不重复的数值。工具/原料moreOffice2007函数index row if small match iferror方法/步骤1/8分步阅读

    A列是源数据,想要去除其中的重复数据,将筛选后的数据放到B列中

    我们先想一个思路,然后再用公式去实现。

    我们知道Row函数,返回行号;Match函数,返回数据首次在指定区域出现的顺序号;这样我们可以用两个函数返回的结果进行比较,如果是两者相同,那么意味着,这是数据第一次出现,就将他提取出来,如果两者不同,就表示这个数值已经出现过至少一次了,不需要提取。

    2/8

    顺着上面的思路,我们来一步步实现

    首先,利用Row函数,将各个数值对应的行号,表示出来。

    3/8

    利用Match函数,将各个数据第一次在数据区域出现的序列数,求出来

    4/8

    利用If函数,对上述两个函数的结果进行比较

    如果两者相同,则返回Match函数的结果

    如果两个不同,则返回空值

    5/8

    我们需要从上到下按顺序依次提取不重复的数值,上述步骤的结果,可以看到有很多空的单元格,需要将之去除。

    这里用到了Small函数,对数据进行从小到大排序并提取

    6/8

    最后,再用Index函数,通过行号,返回数据区域的数值

    也就把不重复的数值提取出来了

    7/8

    其实,到上一步就已经完成了,但我们想要一个公式得到结果,而不是分成那么多列。

    那么公式如下:

    =INDEX($A$1:$A$9,SMALL(IF(MATCH($A$1:$A$9,$A$1:$A$9,0)=ROW($A$1:$A$9),MATCH($A$1:$A$9,$A$1:$A$9,0),),ROW(A1)))

    而且是数组公式,需要用Ctrl+Shift+Enter三键来结果公式

    为什么要用数组公式呢?我们前面不是都是用的一般的公式么?

    这里主要是Small函数的问题,我们知道,我们在用Small函数时,可以选择区域,但当前面的函数结果汇总到一个公式中时,只能通过数组函数,才能得到一个区域,也就才能达到Small函数排序并提取数值的目的。

    这里,用到数组函数的,其实是这么一点:

    SMALL(IF(MATCH($A$1:$A$9,$A$1:$A$9,0)=ROW($A$1:$A$9),MATCH($A$1:$A$9,$A$1:$A$9,0),),ROW(A1))

    通过F9查看公式结果,就能看到,Small前半部分这里是生成了一个序列,作为排序区域,而最后通过行号,返回一个数值,再作为index返回的行号。

    如果对数组公式有比较深刻的认识,这里会好理解一些;如果刚接触数组公式,可以多花一些时间去体会。

    8/8

    最后,再利用iferror函数,将错误数据剔除。

    注意事项

    数组公式一定要以Ctrl+Shift+Enter三键来结果

    index(indirect)+small+if函数是数组公式中最常见的三剑客,学好这个例子,可以一通百通

    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_1136357.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-07 18:53:52  耗时:0.034
    0.0341s