陶泽昱Excel应用技巧大全第25期:数据筛选技术

提取不重复数据主要是指在一个数据表中提取唯一的记录,即重复记录只算1条。这在我们的日常工作中会经常遇到,比如在统计人员名单时,有可能因为重复统计等原因而重复记录,通过本文介绍的方法便可以将不重复部分查找出来,进而进行相关的统计计算。当然,使用Excel的“高级筛选”能够生成不重复记录的结果,但是通过公式如何实现该功能呢?下面主要介绍如何使用函数来实现,能够快速、准确地实现该功能。

一、一维区域取得不重复记录

例1从企业员工工资表中提取唯一部门

如图1所示,展示了一份企业员工工资表,为了便于统计各部门的应发工资,利用下面的公式将取得唯一部门列表,并统计部门工资总额。

根据MATCH函数查找数据的原理,当查找的位置序号与数据自身的位置序号不一致时,则表示该数据重复,因此I3单元格中提取不重复记录的公式为:

{OFFSET($D$2,SMALL(IF(MATCH($D$3:$D$17,$D$3:$D$17,0)=ROW($D$3:$D$17)-2,ROW($D$3:$D$17)-2,65534),ROW(A1)),)}

公式中主要利用MATCH函数进行部门名称定位的方法,利用列表查找重复部门名称始终定位首记录的原理,当MATCH函数结果与序号比较相等时,则赋值为当前数据的行号,否则指定一个行号65532(主要为了容错处理,而该行通常是无数据的空单元格),再通过SMALL函数将行号逐个取出来,最后由OFFSET函数生成结果。

取出部门名称结果如图2所示。

最后利用SUMIF函数即可统计出所有部门的工资总额,如K3单元格公式如下:

=SUMIF(D3:D17,J3,H3:H17)

二、多条件提取唯一记录

例2从商品明细表中提取唯一品牌名称

在如图3所示的商品进货明细表中,当用户指定具体的商品大类,如“空调”后,再筛选其下品牌的不重复品牌记录列表。

F6提取唯一记录公式:

{=INDEX(B:B,MATCH(0,COUNTIF(F$5:F5,$B$2:$B$14)+($A$2:$A$14<>$F$3)*($A$2:$A$14<>””),0)+1)&””}

该公式主要利用MATCH函数定位0值的技巧来处理,同时利用COUNTIIF函数结合混合引用统计当前公式坐在的F列中已经提取了那些品牌名称,未提取出来的品牌记录将被计数为0,从而通过定位0来取得记录。

而后添加“+($A$2:$A$14<>$F$3)*($A$2:$A$14<>””)”的特殊处理,将不属于指定商品的品牌过滤掉,再进行列表得出结果。

另外,利用INDEX函数结合SMALL函数的常规解法也同样可以实现,如公式修改为:

{=INDEX(B:B,SMALL(IF((A$2:A$13=F$3)*(MATCH(A$2:A$13&B$2:B$13,A$2:A$13&B$2:B$13,0)=ROW(A$2:A$13)-1),ROW(A$2:A$13),4^8),ROW(A1)))&””}

该解法使用常规的MATCH函数定位原理,将多关键字利用字符连接生成单列数据进行比较,最后使用INDEX函数逐个取得结果。

同样地,利用之前统计不重复记录的技术,在此条件下也可以进行不重复品牌的数据,具体的统计公式如下:

{=SUM(($A$2:$A$13=$F$3)/COUNTIFS($A$2:$A$13,$A$2:$A$13,$B$2:$B$13,$B$2:$B$13))}

该解法同样使用了COUNTIF函数统计技术,只是将单个统计条件增加为多个条件,原理完全相同,最终统计出来的“洗衣机”商品其下的品牌数量为4。

三、两维数据表提取不重复数据

在某些时候,企业的销售信息表并不是按照标准的数据库格式存放的,而对于这类多行多列存储的销售信息表,从中取得唯一的客户列表,则需要利用数组公式在二维的数据表中进行筛选。

例3根据商品和品牌确定唯一品牌名称

如图4所示,展示了一份某期间内全国各商场销售情况明细表,表中按各地理区域进行了划分,下面将使用函数公式从明细表中筛选中唯一的商家名单。

从上表中可以可看到个商家名称排列在一个二维的数据表中,要取得商家名称必须通过条件判断将其单独筛选出来,如在K2单元格输入如下数组公式:

{=INDIRECT(TEXT(MIN(IF((COUNTIF(K$1:K1,$A$2:$H$6)=0)*(MOD(COLUMN($A$1:$H$1),3)=2)*($A$2:$H$6<>””),ROW($A$2:$H$6)*1000+COLUMN($A$2:$H$6),65536256)),”R0C00”),)&””}

该解法主要按条件筛选出商家名称,根据行列号重新生成序号数组,再后利用TEXT函数和INDIRECT函数生成R1C1引用样式的单元格来生成商家列表。其中解法的关键点有以下3点。

(1)过滤条件公式段:(COUNTIF(K$1:K1,$A$2:$H$6)=0)是去除重复数据的重点公式;(MOD(COLUMN($A$1:$H$1),3)=2)公式段主要是为了过滤其他非商家名称数据列,目的是通过K列的自身筛选去除已经列表的商家名称。

(2)IF(过滤条件,ROW($A$2:$H$6)*1000+COLUMN($A$2:$H$6),65536256)公式中的65536256主要是用于容错处理(为了兼容Excel

2003的用户),通过INDIRECT(“R65536c256”,0)&””,则固定引用整个工作表(基于Excel

2003系统)的最后一个单元格,保证列表外的多余数据均显示为空白,从而省略了常规的错误判断。

(3)而INDERECT(TEXT(MIN公式段,”R0C000”),0)的用法则是一种应用技巧,它能够将行列号组合序号快速转换为单元格引用,从而返回真正的商家列表。

最后筛选结果如图5所示。

��9����C

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,864评论 6 494
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,175评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,401评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,170评论 1 286
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,276评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,364评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,401评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,179评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,604评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,902评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,070评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,751评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,380评论 3 319
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,077评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,312评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,924评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,957评论 2 351

推荐阅读更多精彩内容