vlookup的特殊用法,查找缺失或者查找存在

想象一下这个场景,我们的数据有一部分侥幸能进入数据库了。但是这部分数据没有标记出,那我们只有通过数据库中的数据来查看excel表中的数据是否进入了数据库。因为是乱序的,所以不好一个个对,这便是查找存在

再比如,我们有一列需要处理的数据。但是有部分别人已经帮我们处理完了。现在我们需要知道有哪些需要处理。还是一样的乱序,因此我们需要查找缺失的部分。缺失的部分就是未处理的

上面两个例子本质上是一样的,因为找到了存在也就找到了缺失,找到了缺失也就找到了存在。

使用sql语言的表链接可以做到,但是我试出了excel的快捷方法,就是vlookup的隐藏用法。但是我不懂原理哈哈,反正能用,也不会出错。

查找存在

第一张表是本校的全部学生,第二张表是本次活动实到的学生。我们想在第一张表中标记出本校学生有参加本次活动的学生,也就是查找存在这个需求了。

sql实现

先用表链接来实现以下,想知道第一张表中的人名在第二张表是否出现过。那么只需用第一张表作为主表,来左连接第二张表。通过姓名链接,有出现过的那就能连上。这时候只需使用where的条件筛选把存在null的记录删去即可。代码如下:

只需把姓名(1)这一列的null值去掉即可,他们就是说本校学生未去参加活动的学生

excel实现

在excel中,使用vlookup函数来查找存在

第一次试出来这个用法我调试了好几次。之前被思维定势了,以为vlookup函数的第三个参数序列书必须大于等2(一般都是主列在最左边)。

那我解释下现在这个函数。就是说查找A2单元格这个值,有没有在H列中。如果有,匹配出来的就还是“晨晨”。如果没有,那就是找不到,匹配出来的值是N#A

第一次弄出来以后我太激动了,发现了vlookup的隐藏用法

然后,用筛选器把没匹配出来的去掉

结果和sql实现一样。

查找缺失

现在看右边这张表,我们现在想知道参加本次活动的有哪些学校不是本校学生。萧峰、张无忌和独孤求败哈哈哈哈。

翻译过来就是右表中哪些姓名,左表中未出现。查找缺失

sql实现

启动数据库,把右表作为主表,左连接左表,这样。存在于左表中的姓名就会连接上,不存在的就会出现null值

这次相反,这次我们要把姓名(1)这一列中的null值给取出来。因为我们要查找的是缺失的姓名(外校学生的姓名)而不是查找存在(本校学生的姓名)

结果就是这仨武侠高手哈哈

excel实现

跟刚刚一样,通过查找H2这个单元格在A列是否存在。如果存在就会直接把名字匹配出来,如果不存在,就会出现N#A

因为是查找缺失,所以把#N/A筛选出来

和上面sql实现一样

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值