我们在处理数据时,重复数据常常会对分析造成很大麻烦,因此数据整理初期一个重要的工作是排重,excel2007以上版本中有一个删除重复项功常便捷,但是每次点来点去也很麻烦,下面我们用公式来对一些重复数据进行处理
一、【单列提取不重复值】
先将数据列定义名称
{=INDEX(名称,MATCH(,COUNTIF(E$1:E1,名称),))} 下拉
大致思路是:根据E$1:E1下拉形成一个动态区域,countif依次判断每个区域中相应数据的出现次数并形成一个内存数组,然后match判断0在数组中出现的位置,最后index来完成最后的引用。此公式不长也不难,有个值得注意的地方是match的使用,它的第一个参数被省略了,但是match的第一个参数又是“必需”的,这似乎违背规则,实际上并没有,因为excel对省略的参数默认为0,可以参与计算,它不等同于"",后者excel会认为其为文本值,无法参与计算,因此,MATCH(,COUNTIF(E$1:E1,名称),))等同于MATCH(0,COUNTIF(E$1:E1,名称),))
顺便说:我们经常使用countif来生成数组,从而将数据转化为1和0,例如,如果想计算单列重复数据个数,可以使用{=SUM(1/COUNTIF(名称,名称))}
二、【多列提取不重复值】
{=INDIRECT(TEXT(RIGHT(MIN(IF(COUNTIF($D$1:D1,$A$2:$B$8),4^8,ROW($2:$8)*100+COLUMN(A:B)*10001)),4),"r0c00"),)&""} 下拉
公式很长也比较复杂,数据列在A2:B8,提取列在D列,主要思路还是用countif生成内存数组,然后对这个数组进行处理最后达到目标,这里注意一个"r0c00",这个的意思是用text将处理后的数组变成单元格的RC引用形式,然后再用indirect进行引用
三、【查找重复值的对应信息】
如图,

想在产品列查询出某个产品对应的所有订单号,产品和订单号是一对多的关系,同一个产品有多个订单号,可用如下公式实现:
{=INDEX(B:B,SMALL(IF($A$2:$A$130=$C$1,ROW($A$2:$A$130),65536),ROW(1:1)))&""} 下拉
根据输入在C1的产品名,提取出其对应的所有订单号,大致思路是根据IF条件判断形成一个数组,此数组最大值是65536,其余是根据C1的条件形成的值,然后用small依次提取出第ROW()个最小值的位置并用index引用。

用excel处理重复数据的更多相关文章

  1. EXCEL 处理重复数据名字后面追加值

    近期要用 EXCEL 处理重复数据名字后面追加值的,如图: 先排序,再根据条件追加 [公式]=+B6&IF(COUNTIF($B$6:B6,B6)-1>0,"_" & ...

  2. Excel删除重复数据及用公式筛选重复项并标记颜色突出显示

    当表格记录比较多时,常常会有重复数据,而重复记录往往只希望保存一条,因此需要把多余的删除:在 Excel 中,删除重复数据有两种方法,一种是用"删除重复数据"删除,另一种是用&qu ...

  3. 使用Excel过滤重复数据

    如题 由于数据太多,没有办法人工过滤,所以借助Excel 我的数据是这样的 需要找出里面重复的数据 首先,选中需要筛选的数据,点击开始 --> 条件格式 --> 突出显示单元格规则 --& ...

  4. EXCEL对比重复数据

    一.       EXCEL 突出重复项 1.      选择对应的数据 EXCEL 里选择好数据 2.      选择条件格式 这样就完成了数据重复的突出,可以按条件筛选.选择自己想要的数据

  5. excel删除重复数据

    1.点击任意单元格2.选择菜单栏的数据-->删除重复项 -->自定义重复

  6. Excel对重复数据分组,求出不同的数据(office 2013)

    第一步: 第二步: 第三步:

  7. Excel常见操作,重复数据,去除数据关联

    Eecel对一个数据进行操作后按住右下角的十字架往下拉就可以对下面的操作进行相同 的操作,所以只需先对一个数据进行操作,再拉下来就可以了 通过公式处理的数据跟其它数据有关联 需要对这些数据进行去除它们 ...

  8. Excel 表格查找重复数据,去重复统计

    找出表格是否有重复数据: =IF(AND(G20=G19,D20=D19),"是","否") 筛选移除[重复的数据]然后开始统计 =SUBTOTAL(9,E2: ...

  9. Excel按照某一列的重复数据设置隔行变颜色效果

    问题:如图所示,想按照A列中的重复数据设置隔重复行变颜色的效果,能否通过条件格式命令实现. 方法1:(最佳答案) 条件格式公式:=MOD(SUMPRODUCT(--($A$1:$A1<>$ ...

随机推荐

  1. WINCE+6410 拨号上网

    我们现在的模块用的是USB接口,然后模拟成一个COM6进行通信,在CE的: 控制面板->网络连接 里要新建一个连接,选择"拨号连接"然后设置好区域代码,还有附加解调器命令+C ...

  2. SQL Server建表和增删改

    create database 数据库名 go --穿件完成 go create table 表名(列名 类型, 列名 类型, 列名 类型 --最后一个列名不加逗号) go --创建完成go 以创建表 ...

  3. 如何使用github上传自己的开源项目教程

    注意: 此教程只针对iOS项目,其他项目请参考此网站 http://jingyan.baidu.com/article/b907e627aadbb246e7891cf1.html 首先进入github ...

  4. js parseInt();parseFloat;Number()

    1:  parseInt( numString [, radix ] ) [测试浏览器:chromium && firefox] ①parseInt()函数用于将字符串转换为(十进制) ...

  5. 观摩制作小游戏(js应用)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. [SAP ABAP开发技术总结]逻辑数据库

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  7. 关于Android 构建

    在简书上面有系列关于Android 的文章,还不错,部分同学可以在开发过程中阅读和学习:www.jianshu.com/collection/3fde3b545a35 关于Android 构建,看到这 ...

  8. 应用部署到JBOSS上遇到的问题

    原来应用在WAS7.0下,移植到JBOSS eap5.1.2下后,遇到了一些问题,特此记录: 1.数据源配置 在was中,datasource中获取数据源名称时,直接写was中配置的数据源名称即可.而 ...

  9. Myeclipse 主题下载

    Myeclipse 主题下载 下载网址: 1. 编辑区背景主题:http://www.eclipsecolorthemes.org 2. 框架主题:https://marketplace.eclips ...

  10. poj1375Intervals(点到圆的切线)

    链接 貌似这样的叫解析几何 重点如何求得过光源到圆的切线与地板的交点x坐标,可以通过角度及距离来算,如图, 根据距离和半径可以求得角度a.b.r,自然也可以求得d1,d2. 至于方向问题,在求r得时候 ...