如何利用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. pthread 线程立即取消的两种方法

    1.相关函数介绍 a. int pthread_cancel(pthread_t thread) 1发送终止信号给thread线程,如果成功则返回0,否则为非0值.发送成功并不意味着thread会终止 ...

  2. 20175209 《Java程序设计》第九周学习总结

    20175209 <Java程序设计>第九周学习总结 一.教材知识点总结 有关数据库下载中存在可能出现的问题已经在博客<数据库安装和使用过程中出现的一些问题>给出了相应的解决办 ...

  3. CMakeList.txt(1):cmake error

    cmake_symlink_library: System Error: Operation not supported 1/创建链接不成功,要确认当前帐户下是否有权限在编译的目录中有创建链接的权限 ...

  4. 装饰器模式-Decorator(Java实现)

    装饰器模式-Decorator(Java实现) 装饰器模式允许向一个现有的对象添加新的功能, 同时又不改变其结构. 其中 "现有对象"在本文中是StringDisplay类. 添加 ...

  5. Windows Server 2016 配置 IIS 的详细步骤

    Ø  简介 本文主要记录 Windows Server 2016 环境下,安装配置 IIS 的详细步骤.需要说明的是,在选择"功能"或"角色服务"时不建议将所有 ...

  6. idea中pom.xml添加了新的maven依赖,点击import changes没反应

    打开file,setting. 选择Build,Execution,Deployment -> Build Tools -> Maven. 修改maven home directory为自 ...

  7. Ireport5.0.1 从java后台接收list集合

    作为ireport新手,开始使用时总有很多问题,说一下今天解决的一个问题,就是怎样从java后台接收list集合并显示出列表. 1.首先要在主dataset中的Paramerters 中创建参数lis ...

  8. 课程设计个人报告——基于ARM实验箱的捕鱼游戏的设计与实现

    课程设计个人报告--基于ARM实验箱的捕鱼游戏的设计与实现 一.个人贡献 参与课设题目讨论及部分过程 资料收集 负责代码调试 捕鱼游戏相应功能的实现 实验环境 Eclipse软件开发环境: ARM实验 ...

  9. 线程——自定义多线程task

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  10. IDEA+MySQL实现登录注册的注册验证时出现 Cannot resolve query parameter '2'

    问题描述: 在IDEA+MySQL+Tomcat 实现登录注册JSP的注册信息INSERT验证时出现 Cannot resolve query parameter '2' 贴上创建链接的代码: if( ...