这是Excel100天学习班的自定义内容,今天就不废话了,直接进入主题。
VLOOKUP是干什么用的?
这是一张VLOOKUP函数查找的示意图,很久以前做的,多看几次就能看懂。

但是VLOOKUP函数有很多限制,只能根据首列查找、只能查找一个对应值等等。
1.根据译音反向查找潮州话。

针对这种情况,函数高手会借助IF({1,0})构成一个新区域,然后再查找,但对于小白而言,那简直就是天书。换一个思维海阔天空,既然VLOOKUP函数是根据首列查找的,我们可以将数据略作改变。

这样就只借助最简单的VLOOKUP函数就可以搞定。
=VLOOKUP(E2,A:B,2,0)
还记得小时候做数学题,老师经常提示这道题可以用辅助线来完成。其实,长大后,数学题就变成了Excel题,而辅助线就变成了辅助列。
2.将查找到的内容,放在一个单元格。

如果你是一个高手,可以自定义一个函数,那这种问题不叫问题。

公式是不是超级简单,但是你知道自定义函数的代码其实并不简单,作为小白不知道看到代码会不会晕掉。
Function Excel不加班(rng As Range)
Dim i%
For i =2To Cells(unt,1).End(xlUp).Row
If rng =Cells(i,1)Then
HB =HB &IIf(HB ="","","、")&Cells(i,2)
End If
Next
Excel不加班=HB
End Function
回到辅助列法来,在C2输入公式,并下拉填充。
=B2&IF(UNTIF(A3:A13,A2),"、"&VLOOKUP(A2,A3:C13,3,0),"")

不要用怀疑的眼光看这条公式,这里不需要绝对引用。惯性思维有的时候也是错的,起始单元格跟结束单元格也跟平常不一样。
01UNTIF(A3:A13,A2)判断A列下一行是否存在跟A2相同的姓名,如果存在就执行"、"&VLOOKUP(A2,A3:C13,3,0),否则返回空值。
02"、"&VLOOKUP(A2,A3:C13,3,0)从A列下一行起,精确查找A2对应C列的值,用顿号隔开。
03B2与IF得到的计算结果合并,将记录连接到辅助列中。
综合起来,辅助列的作用就是将查找到的所有内容合并起来,并显示在第一个学员对应的位置。

最后用VLOOKUP对新的区域进行查找即可。
=VLOOKUP(E2,A:C,3,0)
凡事皆有可能,只要你用心去想!
作者:卢子,清华畅销书作者,《Excel效率手册早做完,不加班》系列丛书创始人,个人公众号:Excel不加班(ID:Excelbujiaban)

延伸阅读:
我们是谁?财务!
发票开具有新规,这些细节要分清!
拒绝加班!18个工作中必会的Excel函数公式