excel查找函数说明 谁说VLOOKUP函数不能一对多查找?


本文是专门为新书打造的「拓展阅读系列」之一,我们希望做到实体书与线上学习的有效结合,通过二维码打通实体书与线上资源,构建完善的Excel知识体系。


我以前写过两篇关于VLOOKUP函数的文章,流传甚广,在这两篇文章中,我把VLOOKUP吹上了天。

如果你对此函数用的不太熟,先来学习这两篇文章:

入门|快速掌握VLOOKUP函数之精解精析

进阶|熟练使用VLOOKUP函数之精解精析【深度长文】

 

在众多查找函数中,VLOOKUP确实称得上扛把子的,但是它也有局限性,这不,一对多查找他似乎就无能为力。

 

检察院以人民的名义派了三个小组去抓贪官,需要从左面的表格中查找出二组的成员,但是二组对应两个成员,也就是说一次要查找并返回两个值。



我们知道Vlookup总会以第一个被找到数据作为最终的匹配数据,所以,当有两个”二组“同时存在时,很自然的,它只能默认为匹配首个,也就是说只能返回”高育良“。


那么,是不是传说中的Vlookup遇到这种情况也只能望洋兴叹,无能为力啊?


当然不是!

作为专业从事匹配工作的函数,Vlookup只是需要一些额外的辅助。


需要注意的是,原生态的Vlookup,用于匹配的数据必须是唯一的,这是由函数的四个参数决定的,改变不了这个事实,所以我们只能从查找匹配的数据源上进行改造。


excel查找函数说明 谁说VLOOKUP函数不能一对多查找?

— 01 —

构造辅助列


 

虽然一个组别对应多为成员,但是这种对应也是有规律的。比如,第一个“一组”对应“侯亮平”,第二个“一组”对应“陈海”……

 

所以,为了实现一对一匹配,需要构建出组别的次序。在C2单元格中输入公式=COUNTIF(A$2:A2,A2),并向下复制填充,可以得出每一个组别的次序。

 

 

然后在B列左侧插入一个新列,并将A列数据和C列数据组合(使用&进行单元格组合),形成新的数据列,如图。

 


奇迹出现了,使用新组别这一列数据去查找成员,相当于为每一个组别创造了唯一的识别码,再用Vlookup时,就能精确地一对一匹配到了。

 

你看,原以为搞不定一对多排序是VLOOKUP函数的问题,实际是数据源的问题。至此,可得出解决此问题的关键点为:


①通过COUNTIF函数,制造出序列(难点是A$2:A2动态引用,这是创造正确编号的核心);

②通过&组合组别和次序,制造唯一性。


— 02 —

实现VLOOKUP一对多查找


 

万事俱备只欠东风,最后一步——Vlookup多条件匹配。

在G2单元格中写入公式=VLOOKUP(F$2&ROW(A1),B:C,2,0),然后向下复制填充,直到出现#N/A错误,则会返回“二组”对应的所有成员。


 

这里使用ROW(A1)函数生成序列,然后再与F2单元格组合,于是就依次生成“二组1”,“二组2”,相当于VLOOKUP函数的第一个参数依次按照“新组别”中的参数出现。


— 03 —

还能怎么玩



上面的查找方式,将查找的多个结果依次放入不同的行单元格中,这就导致无法批量查找,即无法同时查找“二组”和“三组”的成员,必须分开写公式。

 

所以,通常情况下,我们会将查找到的多个结果放入不同列中,效果如下图所示。


稍微对公式进行修改,就能实现这样的效果。


在G2单元格中写入公式=VLOOKUP($F2&COLUMN(A$1),$B:$C,2,0),并向下拖动填充,然后向右拖动填充,直到每一个组别对应的成员都出现错误值#N/A为止,这说明每一个组别对应的成员都被查找出来了。

 

我们将此公式

=VLOOKUP($F2&COLUMN(A$1),$B:$C,2,0)

与上文中的公式对比

=VLOOKUP(F$2&ROW(A1),B:C,2,0)

 

首先第一个参数变成了($F2&COLUMN(A$1),这是因为我们需要同时查找“二组”、“三组”、“一组“对应的成员,因此在向下复制时,引用的单元格需要依次变更为F3、F4,所以这里的$F2需要对行需要对行进行相对引用,又因为公式需要向右复制,必须确保引用的一直是F列的数据,所以列为绝对引用。


同理,我们在列方向进行填充,因此需要是使用COLUMN函数构造序号。

 

— 04 —

屏蔽错误值


因为我们事先不知道一个组别对应几名成员,所以必须一直向右填充公式,直到出现错误值为止,才算把所有的数值查找完毕。


为了避免出现错误值,可以使用IFERROR函数进行嵌套。


将G2单元格中的公式改为

=IFERROR(VLOOKUP($F2&COLUMN(A$1),$B:$C,2,0),'')

第一参数就是查找公式,第二参数代表“如果第一参数的运算结果为错误值时所显的自定义的值”。这里,可以设定为'',也就是显示为“空”。




这样,向右复制到出现空单元格为止即可。


卧槽,一个VLOOKUP函数都被玩出花了!


·END·


IOS专用打赏,一种碉堡了的打赏方式

↓↓↓


百度搜索“爱华网”,专业资料,生活学习,尽在爱华网!

  

爱华网本文地址 » http://www.aihuau.com/a/346251/257744216490.html

更多阅读

草根对话录:谁说大学生不能创业?

为什么讲起大学生创业,几乎人人都摇头?这种摇头的风气绝对有伤风化。 摇头者无外乎两大类人,一类是“过来人”,他们的观点无非是“大学生没见过世面、没有经验、不成熟。”试问,如果没见过世面、没有经验、不成熟就不能创业的这个逻辑成

谁说糖尿病不能根治图 糖尿病能根治吗

随着国人的生活水平提高,近年来,糖尿病患者如雨后春笋般不断的涌现出来。许多糖尿病患者都有个共同的体会,用药时间越长,越感到各种药物不起作用,即使加大药量,疗效也不明显,还对肾、肝造成伤害,糖尿病患者一旦并发其他病症,还会危及生命。

谁说大象不能跳舞下载 雅戈尔 谁说大象不能“跳舞”?(一)

 大象究竟能不能跳舞?   这是一个问题。  前IBM董事长郭士纳的回答是:“大象就是能跳舞。”  在《谁说大象不能跳舞》一书中,郭士纳这样写道:“在我从商的大部分时间里,商海中似乎总是存在着这样的一条不言而喻的公理,那就是:小

谁说大象不能跳舞 pdf 谁说大象一定跳舞

有本书一度畅销——《谁说大象不能跳舞》,这是IBM董事长郭士纳的自传。IBM公司长期执计算机世界之牛耳,被视为美国科技象征和国家竞争力堡垒,《经济学人》杂志甚至认为IBM的失败可以看作美国的失败。在郭士纳掌舵的九年间,IBM持续赢利,

说明电子商务的特点 谁说我不能用电子商务?

  □文/周速华  以前在联想工作的时候我认识了不少Donews的朋友,和《电子商务世界》杂志社的合作也比较多,所以我也算是半个电子商务圈内人。  近几年我自己创业了,全国各地都有我的亿家净水连锁超市。但是身边不断有人和我说:某

声明:《excel查找函数说明 谁说VLOOKUP函数不能一对多查找?》为网友莫辞西澜锁清秋分享!如侵犯到您的合法权益请联系我们删除