分享

源数据有坑怎么办?要么想办法跨过去,要么直接把坑填了!

 EXCEL应用之家 2024-05-19 发布于上海


欢迎转发和点一下“在看”,文末留言互动!

置顶公众号或设为星标及时接收更新不迷路



小伙伴们好,今天来和大家分享一道简单题逻辑判断题目。但这道题目也特别容易出错,因为它里面有坑。

原题目是这样的:



题目要求找出有重复的数据并标识出来。有小伙伴会说了,这还不简单,直接COUNTIF函数就可以了呀!结果真的是这样吗?


01

直接使用COUNTIF函数



在单元格C2中输入下列公式,确认后向下拖曳即可。

=IF(COUNT(FIND(A2,$A$2:$A$19))>1,"重复","")

我们奇怪地发现,公示结果有遗漏的部分。哪里出错了呢?


02

返回头来仔细观察一下源数据,我们发现源数据中有大小写的区别,另外,就是有些数据后面是空格的,如下图,而这个空格我们用肉眼是无法分别出来的。



找到了这些坑后,就有相应的解决方法了。



在单元格B2中输入下列公式,三键确认后向下拖曳即可。

=IF(SUM(IFERROR(FIND(A2,$A$2:$A$19&" "),0))>1,"重复","")

有些数据后面有空格,有些没有。那就让所有的数据后面都有空格。

$A$2:$A$19&" "

我们在源数据后面添加一个空格后缀“ ”,这样就可以避免空格这个坑了。

FIND(A2,$A$2:$A$19&" ")

源数据中还有大小写的不同,不过FIND函数是区分大小写的,因此这里可以使用FIND函数在源数据中查找目标值。注意这里不能使用SEARCH函数,因为它不区分大小写。

IFERROR(FIND(A2,$A$2:$A$19&" "),0)

对于那些查找不到的,FIND函数返回错误值,再利用IFERROR函数将其转换为0。

IF(SUM(IFERROR(FIND(A2,$A$2:$A$19&" "),0))>1,"重复","")

SUM函数求和,对于求和结果大于1的,则利用IF函数标识为“重复”。


03

其实使用前面的COUNT函数也是可以的



在单元格B2中输入下列公式,三键确认后向下拖曳即可。

=IF(COUNT(FIND(A2,$A$2:$A$19&" "))>1,"重复","")

一句话解释:

查找部分和前面的公式都是相同的。这里使用COUNT函数来统计数字的个数。由于COUNT函数可以忽略错误值直接统计数值的数量,因此就不用再转换错误值了。


04

既然源数据中有坑,就想办法把这个坑给填上。我们也可以从空格入手,利用TRIM函数对源数据进行处理。



在单元格B2中输入下列公式,三键确认后向下拖曳即可。

=IF(COUNT(FIND(TRIM(A2),TRIM($A$2:$A$19)))>1,"重复","")

一句话解释:

这条公式和第二个公式的逻辑思路是一样的,只不过先用TRIM函数对源数据和查找值都做了处理。

本期内容练习文件提取方式:

链接:https://pan.baidu.com/s/1iTOzU8k6NzrJxipmo7Qk0g?pwd=msla

提取码:msla


好了朋友们,今天和大家分享的内容就是这些了!喜欢我的文章请分享、转发、点赞和收藏吧!如有任何问题可以随时私信我哦!

-END-

长按下方二维码关注EXCEL应用之家

面对EXCEL操作问题时不再迷茫无助

我就知道你“在看”

推荐阅读

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多