如何利用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. logback输出json格式日志(包括mdc)发送到kafka

    1,pom.xml <!-- kafka --> <dependency> <groupId>com.github.danielwegener</groupI ...

  2. ubuntu16.04安装中文输入法

    https://blog.csdn.net/u011795345/article/details/53041707

  3. Promise的源码实现(完美符合Promise/A+规范)

    Promise是前端面试中的高频问题,我作为面试官的时候,问Promise的概率超过90%,据我所知,大多数公司,都会问一些关于Promise的问题.如果你能根据PromiseA+的规范,写出符合规范 ...

  4. MySQL 主从复制实战解析

    前言:前面几篇文章讲解了在应用层读写分离的配置和使用,这篇文章将来个主从复制的实战解析. 说明:主从复制,读写分离结构图 原理图 主库生成一个线程: Binlog Dump线程 1.此线程运行在主库, ...

  5. MySQL 水平拆分与垂直拆分详解

    前言:说到优化mysql,总会有这么个回答:水平拆分,垂直拆分,那么我们就来说说什么是水平拆分,垂直拆分. 一.垂直拆分 说明:一个数据库由很多表的构成,每个表对应着不同的业务,垂直切分是指按照业务将 ...

  6. Gcc 命令大全

    gcc这条命令用来将源代码生成可执行程序,下面来看一下gcc的常用选项. 1.无选项编译链接 例:命令:gcc test.c //会默认生成a.out可执行程序 2.-E: 进行预处理和编译,生成汇编 ...

  7. 状态模式-State Pattern(Java实现)

    状态模式-State Pattern 在状态模式(State Pattern)中,类的行为是基于它的状态改变的.当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类. State接口 ...

  8. Spring ElasticsearchTemplate 经纬度按距离排序

    es实体,用 @GeoPointField 注解,值为:中间逗号隔开,如 29.477000,119.278536(经度, 维度) @Document(indexName = "v_inte ...

  9. table-tree 表格树、树形数据处理、数据转树形数据

    前言 公司想搞个表格树的展示页面,看着element有个表格树,还以为可以用. 用出来只用表格没有树,研究半天没研究个所以然,只能从新找个 npm里找到一个:vue-table-with-tree-g ...

  10. Eclipse 设置生成带有属性注释的getter/setter方法

    1.  在开发中,一般类注释常注释在字段上面.但eclipse工具自动生成的getter和setter方法是没有注释的,而且还需要自己手动添加,这样比较麻烦.下面介绍如何通过修改eclipse的jar ...