这篇通俗实用的Vlookup函数教程,5分钟就可以包你一学就会
如何利用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分钟就可以包你一学就会的更多相关文章
- excel实用技巧——vlookup函数
1.VLOOKUP函数的套路 VLOOKUP(要找谁,在哪儿找,返回第几列的内容,精确找还是近似找) 最后一个参数: 如果为0或FASLE,用精确匹配方式,而且支持无序查找: 如果为TRUE或被省略, ...
- if函数+isna函数+vlookup函数实现不同列相同单元格内容排列在同一行
1,首先学习的网址:https://jingyan.baidu.com/album/22a299b5dd0f959e19376a22.html?picindex=1 2,excel 这也许是史上最好最 ...
- excel VLOOKUP函数的使用方法 .
VLOOKUP函数是Excel中几个最重函数之一,为了方便大家学习,兰色幻想特针对VLOOKUP函数的使用和扩展应用,进行一次全面综合的说明.本文为入门部分 一.入门级 VLOOKUP是一个查找函数, ...
- excel VLOOKUP函数的用法
VLOOKUP函数是Excel中几个最重函数之中的一个,为了方便大家学习,兰色幻想特针对VLOOKUP函数的使用和扩展应用,进行一次全面综合的说明.本文为入门部分 一.入门级 VLOOKUP是一个查找 ...
- excel 2010 学习笔记一 Vlookup 函数的使用
有这么一句话说的好:在商用场合里,能证明你会基本的EXCEL操作技巧的两个检查标准就是会不会用VLOOKUP函数以及数据透视表功能,那么今天就来总结一下VLOOKUP的一些简单实用的功能. 1.VLO ...
- execl表格VLOOKUP函数的使用
使用场景:最近在处理一个表格数据的时候出现了一点麻烦.想把另外表2里面对应的的数据放到表1里面,本来表2的ID是乱序的(这里为好看,就顺序排了.),一个个查找复制粘贴比较麻烦,后经大师指点VLOOKU ...
- 10个不太为人所知的,但实用的PHP函数
10个不太为人所知的,但实用的PHP函数 您的评价: 较差 收藏该经验 阅读目录 php_check_syntax highlight_string show_source ph ...
- 【秒懂】号称最为简明实用的Django上手教程
号称最为简明实用的Django上手教程 作者:白宁超 2017年8月24日09:37:35 摘要:Django的学习教程也是分门别类,形式不一.或是较为体系的官方文档,或者风格自由的博客文档,或者偏向 ...
- vlookup函数使用---execl公式
目录 vlookup函数使用---execl公式 1.用途: 2.函数语法: 3.使用方式: 4.实际案例+步骤解析 5.常见错误 vlookup函数使用---execl公式 1.用途: 我们有一张工 ...
随机推荐
- LOJ#2085 循环之美
解:首先看这个纯循环到底是什么玩意..... 经过一番打表,发现纯循环小数就是分母与进制互质的既约分数. #include <bits/stdc++.h> std::bitset<& ...
- PHP开发要点与技巧总结(二)
1 == 'a'.0 == 'a'.97 == '97a'?这里边牵涉到的是默认数据类型转换. // 无输出 if ('0') { echo "'0' is true\n"; } ...
- (贪心 字符串 打好基础)51nod 1182完美字符串
约翰认为字符串的完美度等于它里面所有字母的完美度之和.每个字母的完美度可以由你来分配,不同字母的完美度不同,分别对应一个1-26之间的整数. 约翰不在乎字母大小写(也就是说字母A和a的完美度相同).给 ...
- JAVA之锁-cas
CAS是什么? CAS是英文单词CompareAndSwap的缩写,中文意思是:比较并替换.CAS需要有3个操作数:内存地址V,旧的预期值A,即将要更新的目标值B. CAS指令执行时,当且仅当内存地址 ...
- 爬虫框架Scrapy 之(二) --- scrapy文件
框架简介 核心部分: 引擎.下载器.调度器 自定义部分: spider(自己建的爬虫文件).管道(pipelines.py) 目录结构 firstSpider firstSpider spiders ...
- js循环内0.5s停止
var time_begin = new Date().getTime(); while(true){ if(new Date().getTime()-time_begin > 500) bre ...
- Access-Control-Allow-Origin设置跨域
我来自己写一下答案,以给后来的朋友一点思路和建议:1,首先把Access-Control-Allow-Origin设置成*是不妥的,自己的接口服务器不能允许所有人都可以访问.2,具体哪里可以设置Acc ...
- Ajax数据爬取
Ajax的基本原理 以菜鸟教程的代码为例: XMLHTTPRequest对象是JS对Ajax的底层实现: var xmlhttp; if (window.XMLHttpRequest) { // IE ...
- Java面试题 静态代码块 构造代码块 构造方法 的执行顺序
JAVA中的静态代码块 构造代码块 构造方法执行顺序: 静态代码块(类加载时执行)>>构造代码块>>构造方法 下面展示一个简单的例子,推荐大家动手运行一遍: public cl ...
- 【原创】大数据基础之Impala(3)部分调优
1)将coordinator和executor角色分离 By default, each host in the cluster that runs the impalad daemon can ac ...