excel怎样用函数提取不重复数据
来源:网络收集 点击: 时间:2024-05-03打开excel,打开如图所示表格,我们需要提取不重复的国家名称。
在E2单元格输入=countif(
会出现提示=countif(range, criteria)
countif的功能就是计算在某个区域内满足给定条件的单元格的数目。

=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
这样我们计算的区域就会向下逐渐增大。

=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}


输入=(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}

输入=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}

接下来我们使用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,英国

当拖动往下复制到下一个单元格的时候
=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

英国在$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}

=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!}

=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,美国。

继续往下拖动,就会提取出所有国家。
提取完所有名称之后会出现#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