血石妖后丽桑卓:Excel 提取不重复的数值

来源:百度文库 编辑:九乡新闻网 时间:2024/04/19 05:28:37
查看文章   Excel提取不重复的数值2008-10-21 10:36

昨天一整天,都在研究这个,那些公式,本来很陌生的,现在已经变得很熟练了。

为什么要提取不重复的数值,为什么有这样的需求?

我就不解析,用途实在太广泛。比如最简单的下拉菜单,还有汇总,你都是有可能用到的。

一直都在思考一个问题,该如何学Excel,是买本书,从头看到尾,这样的效果,其实很差,书上的很多例子是为了举例而举例,没有实际的价值。其实有时候,从一个功能开始入手,这样能提高你学习的兴趣,同时也能提高你的动手能力。

整个过程,基本把有用的函数都用到了,其实如果你把过程用到的函数都理解,那么其实你已经是人们心目中的Excel高手了。

下面的内容,是我根据excelhome的论坛的帖子的学习总结,不过我都是自己动手做,理解的。

看例子。

我们现在有一个名单,希望把不重复的名单提取出来。那么其实我们需要解决几个问题,下面的讨论都是基于这个名单是连续,如果不连续,那么处理的办法又是不一样。

1:动态名称

为了写公式的方便,我们需要把这一列,设置名称,不过由于这一列的数据还是在不断增加,那么我们设置名称,就必须设置动态的名称,这样才更加方便和灵活。

=OFFSET(Sheet1!$A$1,1,,COUNTA(Sheet1!$A:$A)-1,)

 

验证一下这个名称是否正确。

 

如果你在下面继续增加,那么这个数值也是会自动变化。达到我们预期的目标。不过如果你删除中间一行,那么就会出问题。这里就不讨论了。

2:有多少个不同的数据

那么这一列里到底包含了多少不同的数据。

=SUM(1/COUNTIF(客户名称,客户名称))

 

记住,这是数组公式,输入完后,一定要按 CTRL+shift+enter

一共是8个不同的数值,如果我们在下面继续添加,那么这个数值会自动变化。

公式的含义,如果理解不了,你就当成一个公式来用就可以了。

3:提取不重复的数值

选中一个区域,因为我们是需要返回的是一串的数值,

输入下面的数组公式

=IF(SUM(1/COUNTIF(客户名称,客户名称))>=ROW()-7,INDEX(客户名称,SMALL(IF(ROW(客户名称)-1=MATCH(客户名称,客户名称,),ROW(客户名称)-1,"0"),ROW(客户名称)-1)),"")

 

上面的公式,你只需要做两件事情,你就可以使用

1:替换掉名称,把你的名称替换上去

2:更改4个数字,第一个数字的含义和后面三个是不同的。看图你就应该明白怎么体会这些数值,后面3个数字都是相同的,

 

 

4:第二种方法提取不重复的数值

 

看图,我们在D8的单元格里输入下面的公式,这是一个数组公式,需要按CTRL+Shift+enter

=IF(AND(COUNTIF(D$7:D7,客户名称)),"",INDEX(客户名称,MATCH(,COUNTIF(D$7:D7,客户名称),)))

往下一拖,那么就出来全部的结果。这个公式,哪怕你的列表包括空的单元格,那也是没有问题的,不会报错

 

 

上面的公式也比较简单,不过有一个问题,就是要求上面有一行空行,也就是D7,不过这一行,通常都是标题行,解决的办法,就是通过

在D7单元格写 0,并自定义该单元格格式为 ;;"不重复清单"

 

这样就能解决这个问题了,复杂了一点。

 


类别:Excel | 浏览(165) | 评论 (2) 上一篇:crm如何选型10大关注点    下一篇:学习Excel总结 /**/相关文章: • EXCEL函数系列——数值小数位数...          • 解决Excel数值进位问题 • EXCEL VBA从关闭的工作薄中取得...          • EXCEL中将数值转换为人民币金额... • 用Excel 2007统计位于某分数值段...          • 用Excel 2007统计位于某分数值段...