分享

我把vlookup函数整晕了【Excel分享】

 L罗乐 2017-07-27



我把vlookup函数整晕了

大家好,今天和大家分享的是“我把vlookup函数整晕了',其实应该反过来说,vlookup函数把我们整晕了,看完之后觉得晕了的,在文章留言处留言。大家都知道vlookup查找结果只能返回查找值的1行信息,而这次有个朋友非要我实现vlookup函数实现

一:请看下面一段对话

菜鸟:老鼠老师你好

我:你好

菜鸟:老鼠老师我想请教你一个问题,可以吗?

我:当然可以,我现在闲着呢

菜鸟:我想实现vlookup函数一对多查询

我:可以不用vlookup吗?,我要数组公式实现吗?

公式

=INDEX(B:B,SMALL(($A$2:$A$7<>$E$2)*10000 ROW($A$2:$A$7),ROW(A1)))&''

菜鸟:老师,我只想用vlookup实现

我:我心里想,我的天啊!你这位朋友不是来问问题的,是来学习的吗?,于我说又说,可以添加辅助列不?

菜鸟:不可以

我:我说实现不了

菜鸟:他们都说你是Excel界的大神,你肯定会的。没有你不会的

我:晕,我知他用激将法,我便说,就冲你说我是大神这句话。我帮你实现

二、动画效果

三、公式

=IFERROR(VLOOKUP($E$2&ROW(A2),CHOOSE({1,2,3},$A$2:$A$7&COUNTIF(OFFSET($A$2,0,0,ROW($A$2:$A$7)-1,1),$E$2),$B$2:$B$7,$C$2:$C$7),COLUMN(B2),0),'')

四、公式解释:

  1. 数组公式,光标要点到编辑栏里,三键一齐下Ctrl Shift Enter

  2. countif第1参数只支持单元格区域,这里我用了offset返回

  3. offset的第4参数用了数组,这里其实是构键了多维,像一个台阶一样。相当于我们这公式下拉=countif($A$2:A2,A2),一直拉到A7单元格

  4. countif函数在这里生成了给每个名字按出现的次数编号,这样就构建vlookup第1参数查找值,本来是一样的,现在也就变成了不一样。

  5. choose函数第1参数用了数组,这里是给vlookup构建第2参数,也就是让查找值在首列,数据源的第1列:是名称加出现次数

五、总结

  1. 看到这里,如果有一点数组基础,可能也整晕了,一点基础都没有更不用说,所以我这里说,我被vlookup函数整晕了。

  2. 建议大家采用我的第1种解法

  3. 如果你第1种方法也觉得麻烦,那么请你安装Excel完美工具箱,就可以像我下面这样用了。

  4. 完美工具箱自定义函数公式

    =一对多查询($E$2,$A$1:$C$7,ROW(A1),COLUMN(B1),1)

动画操作方法

公式参数解释

  1. 第1参数:查找值

  2. 第2参数:数据源

  3. 第3参数:结果第几行

  4. 第4参数:结果第几列

  5. 第5参数:查找值在数据源的第几列

最近新开的班级

  1. 3月15日透视表开新班一、三、五晚上8点到9点

  2. 3月15日vba初级班开新班一、三、五晚上9点到10点  

  3. 3月7日vba中级开新班,二、四、六晚上8点到10点

  4. 3月26函数高级开新班

290集函数案例视频售价100元

包含函数数组、嵌套、加权、降维等讲解

525集Excel 视频售价100元

包括基础技巧、函数、透视表,VBA。

在线网络开设的班级,常年招生

函数班、VBA班;数据透视表班

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多