VLOOKUP函数的一个小技巧

时间:2019-11-20
阅读:

本文要分享的是有关VLOOKUP函数的一个小技巧。

VLOOKUP函数号称函数家族中的大众情人,是简单又实用的函数之一,大家对它想必均是十分熟悉了。

这里有一道有趣的题目,有空的亲们不妨来玩一下。

题目便是如图片所描述的,按照重复次数的要求,重复相关班级名称,结果放入E列。

函数了得的同学,也许会立刻想起一个多维数组套路。但我们这里只想VLOOKUP函数。如果用VLOOKUP函数,应该怎么做?

很简单。只需要两步:

第一步,A2输入公式:

=A1+B2

向下填充。

第二步,E2输入公式:

=IFERROR(VLOOKUP(ROW(A1),A:C,3,0),E3)&""

向下复制。

然后……奇迹发生的时刻——

通过两个公式,来了解下其中的诀窍。

第一个公式:=A1+B2,是计算相关次数的累计值,比较好理解。

第二个公式:

=IFERROR(VLOOKUP(ROW(A1),A:C,3,0),E3)&""

看起来是常用的VLOOKUP套路,但其实有两个很有意思的地方:

其一,VLOOKUP部分

VLOOKUP(ROW(A1),A:C,3,0)

VLOOKUP的查找值是ROW(A1)。即在公式的下拉过程中,在A:C的范围内,通过查找1,2,3,4,5,……来返回该数值所对应的C列结果。

其二,屏蔽VLOOKUP错误值的方式。

如果VLOOKUP查找不到相关数值,比如此例中的1和2,通常会返回错误值#N/A,但我们通过IFERROR,使它返回公式所在单元格的下一个单元格的值。

比如,我们在E2输入公式,VLOOKUP函数的错误值则返回E3,公式向下拖动,E3的错误值返回E4……依次类推,直至VLOOKUP函数返回正确值——则之前通过IFERROR函数判断为错误值的单元格,自然统一更新为相应的正确值(……脑海里开始播放多米诺骨牌从依次跌倒到依次站起的画面)

然后再进行新一轮循环判断、数据更正。

最后的&"",是函数里常用的屏蔽零值的技法,以便在VLOOKUP公式下拉过界时,返回的零值显示为空白。

以上两个公式,除了VLOOKUP(ROW(A1)……)的技巧外,我们还利用了函数的另外一个技巧,我们姑且称之为上下其手。

何谓上下其手?简而言之,便是拿公式所在单元格的上下单元格结果为己用。

第一个公式

=A1+B2

是上手,很多表亲比较熟悉常用,甚为了解。

第二个公式:

=IFERROR(VLOOKUP(ROW(A1),A:C,3,0),E3)&""

是下手,同学们用的可能就比较少了。

因为少用,所以大概才显得格外有意思。诸位亲闲暇时,不妨琢磨琢磨此中窍门,兴许别有收获哦。

返回顶部
顶部