值得收藏的公式,使用公式实现对Excel数据删除重复项统计

至近至远东西,至深至浅清溪。至高至明日月,至亲至疏夫妻。

                                                                                                              -《八至》唐.李冶

首先有个问题问下小伙伴们,在Excel中当我们需要对一列数据进行统计不重复的内容时,你会怎么操作呢?

如果没猜错的话,应该是以下这两种方法

方法一:删除重复项

点击菜单栏中的【数据】-【删除重复项】,删除重复值

方法二:使用数据透视表

选中需筛选的数据,点击【插入】-【数据透视表】,然后把对应数据列表头拉入行中,实现筛选

今天给大家介绍的是使用公式实现数据删除重复值,重点是可以随原始数据,实时更新

先给大家演示下效果:

可以看出,筛选出的数据和其他方式得出的数据一致,且当我们对原始的人名进行修改的时候,可以看到不重复的人员这一列人名也跟着变动了

先给大家看下C2单元格的公式:

=IFERROR(INDEX($A$2:$A$15,MATCH(0,COUNTIF($C$1:C1,$A$2:$A$15),0),1),"")

公式详解:

首先可以看出,这个公式主要用到了下面4个函数

IFERROR,INDEX,MATCH,COUNTIF

为了方便理解,下面逐个给大家分析下。

COUNTIF函数

我们知道COUNTIF函数是用来进行计数统计的,语法结构

COUNTIF(range,criteria)

Range: 要计算其中非空单元格数目的区域

Criteria: 以数字、表达式或文本形式定义的条件

我们经常用到的是查找一个内容,在目标区域出现的次数,就像下面这样统计赵云在A列出现的次数

看我们的公式:

COUNTIF($C$1:C1,$A$2:$A$15)

可以看出第一个参数C1是绝对引用的,第二个C1是相对引用,即随着我们下拉单元格,Range区域是随之变更,C1:C2,C1:C3...

又可以看出Range和Criteria都是一个数据区域,含义是什么呢?

代表通过Countif函数依次统计A2:A15,每个单元格内容在C1:C1出现的次数

当我们的Range是一个区域或者一个值的时候,Criteria是区域的时候,查找的结果返回的是一组数组

就像上面Countif的Range是C1(赵云),Criteria是A2:A15,即当Criteria是A2,A5,A9时,返回结果为1;当Criteria不是这几个单元格内容时,返回的结果都是0,

其实我们的公式就是代表以下这些公式的结果合集:

Countif(C1,A2);Countif(C1,A3);Countif(C1,A4)...

D2输入公式:

=countif(C1,A2:A15)

最终返回的结果是:

再演示下,如果C1和C2都是赵云,会出现什么结果

D3输入公式:

=countif(C1:C2,A2:A15)

计算步骤同样是公式的结果合集

Countif(C1:C2,A2);Countif(C1:C2,A3);Countif(C1:C2,A4)...

最终结果是:

所以我们使用的公式输出的结果就是一列数组,比如我们在C2输入:赵云,再在C3使用公式:

=COUNTIF($C$1:C3,$A$2:$A$15)

返回的数组就是如下样式的:

MATCH函数

接着我们看Match函数,Match函数语法为

MATCH(lookup_value, lookup_array, [match_type])

lookup_value:必需参数,需要在 lookup_array 中查找的值,比如可以是数字也可以是文本,比如"0","赵云",或者是单元格

lookup_array:必需参数,要搜索的单元格区域。

match_type:可选参数,数字 -1、0 或 1。1代表会查找小于或等于lookup_value 的最大值,0代表等于 lookup_value 的第一个值,-1代表大于或等于 lookup_value 的最小值

我们看公式:

MATCH(0,COUNTIF($C$1:C1,$A$2:$A$15),0)

能看出Lookup_value为0,lookup_array为

COUNTIF($C$1:C1,$A$2:$A$15),match_type为0,代表查找到的第一个值

为什么lookup_vlaue为0呢, 我们再看上面介绍的Countif函数,当我们查找值的内容(A列的值)不在Range(C列提取值)范围时,得到的结果是不是0,第一个0的出现是不是就代表的新出现一个不在查找区域的值,即我们需要筛选的数据内的不重复的值

此时我们用Match函数查找第一个0在数组的位置,即得到了新的不重复的值在原始数据第几行了

INDEX函数

Index函数的语法结构是这样的:

INDEX(array, row_num, [column_num]),通过行列的内容返回数组里的具体内容

Array:必需。单元格区域或数组常量。

如果数组只包含一行或一列,则相对应的参数 row_num 或 column_num 为可选参数,我们现在只有一列,所以column_num是可选参数

Row_num:必需。选择数组中的某行,函数从该行返回数值。如果省略 row_num,则必须有 column_num。

Column_num:可选。选择数组中的某列,函数从该列返回数值。如果省略 column_num,则必须有 row_num。

看我们的公式:

INDEX($A$2:$A$15,MATCH(0,COUNTIF($C$1:C1,$A$2:$A$15),0),1)

其中Array为A2:A15,Row_num为Match函数输出的结果,Column_num为1,即查第Match结果行,第1列,在数据区域A2:A15的值

最终即得到我们需要的结果

IFERROR

IFERROR函数是用来判断计算公式是否正确的一个函数,如果公式正确返回公式的值,如果不正确返回设定的值,我们设定的结果是空值

IFERROR(value, value_if_error)

其中Value值是必需的,检查是否存在错误的值

 value_if_error也是必须的,当Vlaue公式的计算结果为错误时要返回的值。

错误类型有:#N/A、#VALUE!、#REF!、#DIV/0!、#NUM!、#NAME? 或 #NULL!。

总结

整个公式,比较难理解的是COUNTIF函数的那块,大家可以多多练习下,多试验几次就能帮助我们更好的理解了,另外注意因为这是数组公式,输入完成后,我们需要按CTR+Shift+Enter键结束公式。

如果觉得文章对你有帮助的话,希望大家帮忙点赞加分享哦~,谢谢

本文由彩虹Excel原创,欢迎关注,带你一起长知识!

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

推荐阅读更多精彩内容