注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

栖客技术札记

栖客王近东,山东泰安人。本杂记主要收录工作、学习、生活中遇到的问题及解决方法。

 
 
 

日志

 
 
关于我

主要收录在技术学习和技术应用方面的文章,有原创、有引用、有转载,学以致用,欢迎浏览。(我的教育类文章发布在http://wjd.blog.edu.cn上)

网易考拉推荐

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

2017-02-23 18:22:30|  分类: Applications |  标签: |举报 |字号 订阅

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


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


哎呦喂!
为什么酱紫?
发生了神马事?
难道咱们真不了解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函数,应该怎么做?
  评论这张
 
阅读(46)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017