VLOOKUP使用技巧之按指定次数重复数据涨知识

今天要和表亲们分享的 , 是有关VLOOKUP函数的一个小技巧 。
VLOOKUP函数号称函数家族中的大众情人 , 是简单又实用的函数之一 , 大家对它想必均是十分熟悉了 。
不过 , 您真的了解他或者她的心吗?
这里有一道有趣的题目 , 亲们不妨来玩一下 。

VLOOKUP使用技巧之按指定次数重复数据涨知识

文章插图

题目便是如图片所描述的 , 按照重复次数的要求 , 重复相关班级名称 , 结果放入E列 。
函数了得的表亲 , 也许会立刻想起一个多维数组套路 。 但我们这里只想VLOOKUP函数 。 如果用VLOOKUP函数 , 应该怎么做?
很简单 。 只需要两步 。
第一步 , A2输入公式:=A1+B2 , 向下填充 。
第二步 , E2输入公式:=IFERROR(VLOOKUP(ROW(A1),A:C,3,0),E3)&”” , 向下拖动 。
然后……奇迹发生的时刻——
VLOOKUP使用技巧之按指定次数重复数据涨知识

文章插图

哎呦喂!
为什么酱紫?
发生了神马事?
难道咱们真不了解VLOOKUP函数的心?
包不同大爷插话:非也非也非非非也 。
【VLOOKUP使用技巧之按指定次数重复数据涨知识】我们通过两个公式 , 来了解下其中的诀窍 。
第一个公式:=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)&"" , 是下手 , 表亲们用的可能就比较少了 。 因为少用 , 所以大概才显得格外有意思 。 诸位亲闲暇时 , 不妨琢磨琢磨此中窍门 , 兴许别有收获哦 。
帖子的最后留个大家两个小问题 , 依然是关于这道小题的 。
其一 , 如果用辅助列 , 使用LOOKUP函数 , 应该怎么做?
其二 , 如果不用辅助列 , 依然使用VLOOKUP函数 , 应该怎么做?

    推荐阅读