广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

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

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

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

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

    excel怎样用函数提取不重复数据

    来源:网络收集  点击:  时间:2024-05-03
    【导读】:
    excel提取不重复数据的方法很多,现在我们来学习怎样用函数来提取不重复数据。工具/原料moreexcel方法/步骤1/11分步阅读

    打开excel,打开如图所示表格,我们需要提取不重复的国家名称。

    在E2单元格输入=countif(

    会出现提示=countif(range, criteria)

    countif的功能就是计算在某个区域内满足给定条件的单元格的数目。

    2/11

    =countif($E$1:E1,

    range是问我们计算的区域,我们输入$E$1:E1,

    为什么要输入$E$1:E1作为计算的区域呢,因为$E$1是绝对位置,E1是一个相对位置,这样在公式往下拖动复制的过程中,

    $E$1:E1就会变成$E$1:E2,$E$1:E3,$E$1:E4

    这样我们计算的区域就会向下逐渐增大。

    3/11

    =countif($E$1:E1,$C$2:$C$11)

    criteria是问我们需要满足什么条件,我们选择C2:C11,因为公式需要往下复制,所以把C2:C11设置成绝对位置$C$2:$C$11

    =countif($E$1:E1,$C$2:$C$11)其实是一个数组公式,因为$C$2:$C$13是一组单元格,它代表的是一组条件,而不是一个条件。

    所以计算的结果也是一组数,是$C$2:$C$11中每个单元格中的数据在$E$1:E1中出现的次数,因为每一个国家的名称都没有出现在$E$1:E1里面,也就是都出现了0次,所以计算的结果是一组10个0的数组,

    我们在编辑栏中选中countif($E$1:E1,$C$2:$C$11),按F9就可以看到这组数组{0;0;0;0;0;0;0;0;0;0}

    4/11

    输入=(countif($E$1:E1,$C$2:$C$11)=0)

    也就相当于

    =({0;0;0;0;0;0;0;0;0;0}=0)

    这是一个比较运算,得出的结果是一组逻辑数组

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

    5/11

    输入=0/(countif($E$1:E1,$C$2:$C$11)=0)

    =0/{TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE}

    TRUE在算术运算中被当作1,所以等同于

    =0/{1;1;1;1;1;1;1;1;1;1}

    最终的结果也就是

    {0;0;0;0;0;0;0;0;0;0}

    6/11

    接下来我们使用lookup函数来查询

    =lookup(1,0/(countif($E$1:E1,$C$2:$C$11)=0),$C$2:$C$11)

    =lookup(1,{0;0;0;0;0;0;0;0;0;0},$C$2:$C$11)

    lookup查询1,如果查询区域里面有1,就匹配1

    如果没有1,就匹配小于1的最大值,所以就匹配0,因为整个数组都是0,所以就会一直往后查询,匹配最后一个0,最后返回最后一个0所对应的国家

    也就是C11,英国

    7/11

    当拖动往下复制到下一个单元格的时候

    =lookup(1,0/(countif($E$1:E1,$C$2:$C$11)=0),$C$2:$C$11)就会变成

    =lookup(1,0/(countif($E$1:E2,$C$2:$C$11)=0),$C$2:$C$11)

    $E$1:E1变成$E$1:E2

    8/11

    英国在$E$1:E2出现的次数就会变成1,

    countif($E$1:E2,$C$2:$C$11)生成的数组就会变成

    {0;0;0;0;1;1;0;1;0;1}

    =(countif($E$1:E2,$C$2:$C$11)=0)

    也就相当于

    =({0;0;0;0;1;1;0;1;0;1}=0)

    得出一组逻辑数组

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

    9/11

    =0/(countif($E$1:E2,$C$2:$C$11)=0)

    =0/{TRUE;TRUE;TRUE;TRUE;FALSE;FALSE;TRUE;FALSE;TRUE;FALSE}

    TRUE在算术运算中被当作1,FALSE被当作0

    =0/{1;1;1;1;0;0;1;0;1;0}

    最终的结果也就是

    {0;0;0;0;#DIV/0!;#DIV/0!;0;#DIV/0!;0;#DIV/0!}

    10/11

    =lookup(1,0/(countif($E$1:E2,$C$2:$C$11)=0),$C$2:$C$11)

    lookup在查询中,会忽略掉#DIV/0!,也就是会忽略#DIV/0!所对应的“英国”,匹配#DIV/0!之外的最后一个0

    然后返回最后一个0对应的国家

    也就是C10,美国。

    11/11

    继续往下拖动,就会提取出所有国家。

    提取完所有名称之后会出现#N/A的结果

    添加一个iferror函数,把#N/A显示为“”,也就是显示为空白。

    =iferror(lookup(1,0/(countif($E$1:E1,$C$2:$C$11)=0),$C$2:$C$11),)

    这样就完整的完成了这个函数。

    注意事项

    谢谢您的阅读,希望能给您带来一点收获,麻烦您 “点赞”和“投票”,谢谢!

    如果“关注我”,不懂的可以联系我,详细解答。

    本文关键词:

    版权声明:

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

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

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

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

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-06 21:40:18  耗时:0.023
    0.0226s