excel函数,多列对多列匹配?

一般VLOOKUP函数只能返回一列的结果,本例介绍如何一次性返回多列结果。

  1. 首先,原始数据包括姓名、工号、性别和籍贯信息。现在需要根据姓名同时查出所有其他字段信息而不需要每个单元格修改一遍公式。

  2. 正常情况,我们在B8输入公式:

    其中第三参数是2,这样返回了姓名对应的工号信息。

  3. 其中第三参数是3,这样就返回了姓名对应的性别信息,后面以此类推。

  4. 可以看到,函数唯一的差别就是第三参数。如果第三参数在向右拉公式的时候自动变化就可以不用修改公式了。我们知道COLUMN()函数可以达到这个目的。在B8输入公式:

    该函数返回了B1单元格所在的列号,即数字2(B1用相对引用)。

  5. 向右拉一个单元格,公式自动变成了:

    这就返回C1所在的列号3,也就是达到了横向拉动公式自动变化的目的。

  6. 我们把上面的COLUMN()函数和VLOOKUP()函数嵌套在一起输入B8单元格:

  7. 向右拉动公式,第三参数就自动变成了3和4,也就达到了一次返回多列值的目的。

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

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

  3. VlookUp函数,查询两个表中的相同字段数据,并将需要引用的数据从B表填充到A表 1.打开A表,将需要查询的列选中 在需要引用的列输入 = 在上方,函数选择中选择VLOOKUP函数 Windows: ...

  4. 如何利用Vlookup函数获取学号中的班级信息.换言之,咱们源数据中放着姓名性别学号班级等信息,而在另一张表格中一定有学号信息,但其他信息就未必有,这需要我们将缺失的信息自动同步过去.使用vlooku ...

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

  6. 今天和大家来说说VLOOKUP的那些事儿,深入了解一下VLOOKUP函数的各种用法,看看这位大众情人还藏着多少不为人知的秘密.函数的语法为:VLOOKUP(要找谁,在哪儿找,返回第几列的内容,精确找还 ...

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

  8. 以一个简单的例子做示范,列数相对较少,看起来也比较清楚:在奥运会或其他比赛上我们可以看到各个国家的奖牌数的变化:那么我们如何查询国家对应的总奖牌数. 我们用到的函数是vlookup,它是一个纵向查询函 ...

  9. 在Excel中,通过VLOOKUP函数可以查找到数据并返回数据.不仅能跨表查找,同时,更能跨工作薄查找. 但是,VLOOKUP函数一般情况下,只能实现单条件查找. 如果想通过VLOOKUP函数来实现双 ...

  1. .确认(verifation)和断言(assert)有什么区别?  确认:当测试中的一个用例存在错误时,系统将会继续运行这些测试  断言:当测试中的一个用例存在错误时,系统将会退出当前用例  总而言之 ...

  2. 大家都知道网站建设前期测试于浏览网站都喜欢用iis本地浏览来操作 那么为了方便大家自己来安装和配置Internet信息服务 相信大家,对于Windows 7有了相应的了解,从操作上,使用上,内置功能上 ...

  3. 今天是2015年11月6日,今天北京下了大雪,我听着民谣,发现丢火车的摇滚也还不错,我身体的一部分毛发也发生了变异,由黑色变成红色,一切来的太突然了......不知不觉学习android开发2年多了, ...

  4. 这篇博客就是在PI上直接写出来的!cheers!! PI3的性能已经非常强劲,而作为一个能够独立运行的运算单元,使用它来做图像处理,将是非常适合的.为了挖掘机器的最大潜能,我没有采用比较常见的pyth ...

查找值。必填字段。填写需要查找的值,或者选择需要查找的值所在的单元格。
匹配区域。必填字段。选取lookup_value的查找区域,也就是你要在哪里找lookup_value。通常选取一整列。
返回区域。必填字段。选取需要返回的区域,通常选取与match_range相邻的某一列。也就是说,当你在match_range的某一行中找到lookup_value后,你要返回这一行中哪一列的值,或者说,你要返回这一行与哪一列相交处的单元格的值。
是否返回数组。可选参数。默认值为False,不返回数组,将所有匹配返回到一个单元格中,用逗号隔开。如果填True,函数就会返回数组,即把匹配结果返回到多个单元格内。这时需要将该公式中的引用转换为绝对引用,并复制到多个单元格,同时选中这些单元格后,按ctrl+shift+enter结束输入。此时公式会被一对大括号"{}"包括,意为该函数为数组函数(array formula),他的返回结果分散在多个单元格中。
是否去除返回结果中的重复项。可选参数。默认值为False,即不开启去除重复功能。填True开启去重功能。
分隔符。可选参数。默认值为英文逗号","。该参数用来自定义返回结果中的分隔符。如果return_array填true,则该参数失效。

已经包含该函数代码的xlsm文件下载链接:

打开该文件后需开启宏。

如需在输入函数时获取参数提示,可以先在单元格中输入=LookUpAllMatches(),然后按Shift+F3,就会弹出参数输入辅助界面。如下图。

如果您想学习一下如何自己插入VBA源代码,可以按照以下方法将下文中的VBA代码插入Excel工作簿:

先在Excel中按Alt+F11,进入VBE编辑器。然后在左侧找到需要插入代码的工作簿(Workbook)的名称。如果VBE编辑器左侧看不到这一块Project小窗口,可以试试看按Ctrl+R。

在下图中,我希望在工作簿Book1中插入代码,所以就选中了VBAProject (Book1)这一层。

这时VBE左侧就会多出一个Module1,双击该Module1,在右侧代码输入界面中,将本文下面的代码复制粘贴进去。

本自定义函数由于使用了第三方库,使用前需要做Early Binding:即在VBE编辑器中,选择菜单栏中的Tool — Reference:

最后按Ctrl+S保存文件,注意在保存对话框中,文件类型需要选择“Excel启动宏的工作簿(*.xlsm)”,如下图

如图下,当A、B列与E、F列皮配上,C列则引用G列的值 函数

VLOOKUP只能查找单列值。咱们能够把多列值拼接后造成一个虚拟列,而后VLOOKUP函数查找这个虚拟列进行匹配。blog

我要回帖

更多关于 excel同时多列数据对比 的文章

 

随机推荐