如何利用Vlookup函数获取学号中的班级信息。换言之,咱们源数据中放着姓名性别学号班级等信息,而在另一张表格中一定有学号信息,但其他信息就未必有,这需要我们将缺失的信息自动同步过去。使用vlookup函数的确非常简单,今天我就再次来剖析一下这个函数吧。

一、利用Vlookup函数返回班级名称

如下图所示,A表为源数据表,B表则是需要填入缺失班级信息的表格。我们如何快速完成这个同步呢?

上图的情形是非常简单的,利用基本的vlookup函数就可以搞定了。vlookup函数共计4个参数:

=vlookup(lookup_value,Table_array,col_num,type)

A表和B表首列都是学号信息,因此我们可以通过利用B表中的学号(lookup_value)到A表(table_array)中进行查询,然后返回A表中从左右往右数第4列的信息(col_num),z只有B表中的学号在A表中存在时,才返回正确的结果(为0,即精确匹配)。因此正确的公式写法为:

=VLOOKUP(H4,$A$4:$D$15,4,0)

因为公式需要向下复制,而查询的范围永远都是A表,因此我们在列号和行号加美元($)将其固定住(绝对引用)。

按照这个思路分析,其实本公式还有其他写法,你看出来了吗?

参考答案:=VLOOKUP(I4,$B$4:$D$15,3,0)

二、利用vlookup返回多列数据

如下图所示,A表为数据源表,C表则为需要填入信息的表格,我们如何将A表中的内容快速同步到C表中呢?

通过前面的例子的讲解,我相信完全可以通过vlookup函数做到了,只是做法可能会比较笨,演示如下:

需要同步三列信息,因此写了3条公式,确实够慢的:

=VLOOKUP(A22,$A$4:$D$15,2,0)=VLOOKUP(A22,$A$4:$D$15,3,0)=VLOOKUP(A22,$A$4:$D$15,4,0)

那么我们可以一条就可以完成所有信息的同步吗?答案当然是可以的。通过观察上述三条公式我们可以发现,三条公式唯一的不同就在于第3参数的不同,如果能利用其它函数得到2,3,4这3个数字,这个公式不就简化了。因为公式是要向右复制的,因此,我们可以利用column函数来办到,由于数字是从2开始的,因此我们得到:

=vlookup(A22,$A$4:$D$15,column(b1),0)

然而当我们向右拖动的公式,会发现除了姓名列得到正确的结果,其他列的内容均出现了#NA,这是为什么呢?

点击C2单元格,我们发现公式竟然变成了,

=vlookup(B22,$A$4:$D$15,column(C1),0)

第1参数变成了B22,我们希望的是公式复制到C2单元格,第1参数依然是A22,因此我们需要在列号前加一个美元符号($),这样当公式向右复制时就不再出错了。最终的公式如下:

=VLOOKUP($A22,$A$4:$D$15,COLUMN(B1),0)

坦白说,前面这种情况算是简单的,因为A表和C表的列的顺序是完全一致的,但假如顺序不一致的,使用上述公式显然就会出错了,那么遇到这种情况下,我们该怎么办呢?

我们需要找一个函数来代替column函数。那么这个函数就是match函数(这个函数限于篇幅,我暂不做介绍),演示如下:

=VLOOKUP($A22,$A$4:$D$15,MATCH(B$21,$A$3:$D$3,0),0)

大家可以仔细琢磨一下这个公式。

三、利用vlookup函数灵活返回多列数据

如下图所示,如何将A表的数据同步到D表中,也许很多同学会说非常简单。不就是利用vlookup函数来做吗?

公式没有问题啊,为什么会出错呢?这是因为vlookup函数要求lookup_value在源数据表中只能位于最左侧,而且我们返回的列序号是以lookup_value为起点从左往右数的。那么遇到D表这种情况我们该如何办呢?我们需要利用函数将table_array中的lookup_value列调整至最左侧。最终公式如下:

{=VLOOKUP(I22,IF({1,0},$B$4:$B$15,$A$4:$A$15),2,0)}

我们利用if函数将第2参数中的lookup_value列即学号列调整至了最左侧,然后也就达到了目的。但要注意的是,此公式为数组公式,因此输入完公式后,我们需要按住Ctrl+Shift+Enter组合键完成数组公式的录入,外层的{}可不是直接输入的哦。

这篇通俗实用的Vlookup函数教程,5分钟就可以包你一学就会的更多相关文章

  1. excel实用技巧——vlookup函数

    1.VLOOKUP函数的套路 VLOOKUP(要找谁,在哪儿找,返回第几列的内容,精确找还是近似找) 最后一个参数: 如果为0或FASLE,用精确匹配方式,而且支持无序查找: 如果为TRUE或被省略, ...

  2. if函数+isna函数+vlookup函数实现不同列相同单元格内容排列在同一行

    1,首先学习的网址:https://jingyan.baidu.com/album/22a299b5dd0f959e19376a22.html?picindex=1 2,excel 这也许是史上最好最 ...

  3. excel VLOOKUP函数的使用方法 .

    VLOOKUP函数是Excel中几个最重函数之一,为了方便大家学习,兰色幻想特针对VLOOKUP函数的使用和扩展应用,进行一次全面综合的说明.本文为入门部分 一.入门级 VLOOKUP是一个查找函数, ...

  4. excel VLOOKUP函数的用法

    VLOOKUP函数是Excel中几个最重函数之中的一个,为了方便大家学习,兰色幻想特针对VLOOKUP函数的使用和扩展应用,进行一次全面综合的说明.本文为入门部分 一.入门级 VLOOKUP是一个查找 ...

  5. excel 2010 学习笔记一 Vlookup 函数的使用

    有这么一句话说的好:在商用场合里,能证明你会基本的EXCEL操作技巧的两个检查标准就是会不会用VLOOKUP函数以及数据透视表功能,那么今天就来总结一下VLOOKUP的一些简单实用的功能. 1.VLO ...

  6. execl表格VLOOKUP函数的使用

    使用场景:最近在处理一个表格数据的时候出现了一点麻烦.想把另外表2里面对应的的数据放到表1里面,本来表2的ID是乱序的(这里为好看,就顺序排了.),一个个查找复制粘贴比较麻烦,后经大师指点VLOOKU ...

  7. 10个不太为人所知的,但实用的PHP函数

    10个不太为人所知的,但实用的PHP函数 您的评价:       较差  收藏该经验     阅读目录 php_check_syntax highlight_string show_source ph ...

  8. 【秒懂】号称最为简明实用的Django上手教程

    号称最为简明实用的Django上手教程 作者:白宁超 2017年8月24日09:37:35 摘要:Django的学习教程也是分门别类,形式不一.或是较为体系的官方文档,或者风格自由的博客文档,或者偏向 ...

  9. vlookup函数使用---execl公式

    目录 vlookup函数使用---execl公式 1.用途: 2.函数语法: 3.使用方式: 4.实际案例+步骤解析 5.常见错误 vlookup函数使用---execl公式 1.用途: 我们有一张工 ...

随机推荐

  1. CF235B Let's Play Osu! 期望DP

    貌似是一道很裸的期望\(DP\).直接说思路: 设\(f[i]\)表示到\(i\)位置时的期望分数,但是只有\(f[i]\)的话我们发现是无法转移的,我们还需要知道到\(i\)位置时的期望连续长度,于 ...

  2. DDCTF-2019

    Web 滴 Web 签到题 Web 大吉大利,今晚吃鸡 1)滴 网址http://117.51.150.246/index.php?jpg=TmpZMlF6WXhOamN5UlRaQk56QTJOdz ...

  3. 详解基于MSSQL “order by”语句报错的SQL注入技术

    SQL注入,又名黑客技术之母,是一种臭名昭著的安全漏洞,由于流毒甚广,已经给网络世界造成了巨大的破坏.当然,对于该漏洞的利用技术,也是花样繁多,如访问存储在数据库中的数据,使用MySQL的load和i ...

  4. 结构体addrinfo, sockaddr, sockaddr_in的区别

    struct sockaddr和struct sockaddr_in这两个结构体用来处理网络通信的地址. 一.sockaddr sockaddr在头文件#include <sys/socket. ...

  5. Java基础知识拾遗(二)

    Lambda表达式 lambda表达式本质上就是一个匿名方法.但是这个方法不是独立执行的,而是构成了一个函数式接口定义的抽象方法的实现,该函数式接口定义了它的目标类型. 只有在定义了lambda表达式 ...

  6. SpringMVC运行流程

    Spring工作流程描述       1. 用户向服务器发送请求,请求被Spring 前端控制Servelt DispatcherServlet捕获:       2. DispatcherServl ...

  7. ArcGis使用字段别名Alias Name导出Excel

    在ArcMap10.3+(根据官网描述应该是,作者测试使用10.5,可行)以后的版本,可以使用ArcToolbox工具导出Excel. 工具位置ConversionTools——Excel——Tabl ...

  8. 自制stm32板子无法烧录程序的问题

    自己画的stm32板子一开始出现了无法烧录程序的情况,主要表现为在点击load图标后出现了Stlink connect error!Target dll has been concelled的窗口.在 ...

  9. springMVC中数据流解析与装载

    最近在看springmvc原理时,看到一篇比较赞的博文,留存学习,如果侵权,请告知,立删. 地址: https://my.oschina.net/lichhao/blog/172562

  10. Linux基础 - 基本命令

    一.Linux系统命令操作语法格式 二.目录操作 创建目录 查看目录 改变当前的目录/位置 打印当前工作目录 三.创建文件或者修改文件时间戳(文件属性) 四.stat命令 vim 查看文件内容 mor ...