分享

你真的刚说懂VLOOKUP函数吗?

 Excel办公实战 2021-06-29
昨天我们重温了一下经典的VLOOKUP,对一些常规基础的用法做了一下全面的案例练习,但是说掌握VLOOKUP还远,今天我们就继续……希望能摸到VLOOKUP的一点皮毛~

大部分函数的参数都支持数组写法,这也是函数玩起来有趣的地方,VLOOKUP亦是如此,四个参数都数组写法!这也是我们今天“玩”起来的源头!


驾轻就熟 |  先来个反向查找吧!


▼反向查找吗?其实不然!
=VLOOKUP(D2,CHOOSE({1,2},$B$2:$B$9,$A$2:$A$9),2,0)


▼ 动画演示

要点说明

1、虽然案例中,我们实现的效果是从右到左,看似打破了VLOOKUP只能从左到右的规则,其实不然,这里之所以可以反向查找,是因为我们重构了第二参数,把名称和编码在内存中换了一下位置,本质还是从左到右

2、这种反向查找的写法真的非常多,主题是VLOOKUP所以其他方式,我们这里就不再一一逻辑,对这块知识点感兴趣的同学可以阅读以下几篇文章

扩展学习文章:

本文由“壹伴编辑器”提供技术支持
根据VLOOKUP的基本规则,VLOOKUP只能返回首个满足条件的值,但是我们往往希望可以把满足条件的值全部显示出来!

更多精彩点击公众号卡片,关注小编

略有小成 | 不是不能,只是你还不会


▼我是一条朴素的数组公式,记得“三键”录入我
=IFERROR(VLOOKUP(COLUMN(A1),IF({1,0},COUNTIF(OFFSET($A$2,,,ROW($1:$7),1),$D2),$B$2:$B$8),2,),"")


▼ 动画演示


要点说明

1、到 略有小成  阶段,我想这样的公式对大家已经没有什么难度,无非是多嵌套了两层函数,只要掌握了各基础函数的参数和结果,基本问题不大!

2、动画演示中,涉及到的基础函数有IF、COLUMN、ROW、COUNTIF和OFFSET以及IFERROR,这些基础函数都已经写过相应的专题,感兴趣的同学阅读一下扩展文章即可!

扩展学习文章:

本文由“壹伴编辑器”提供技术支持
现在你感觉你掌握了VLOOKUP几分?既然可以查询全部满足条件的,那么LOOKUP天天抢过去干的查找最后一个应该问题也不大!


心领神会 | LOOKUP你也休息一下啊,我都行



▼ 动画演示


要点说明

1、近似查找模式下,VLOOKUP和LOOKUP、MATCH等函数一样也是遵循“二分法”原理,关于二分原理,一言两语讲不清,所以同样推荐大家阅读专题文章:二分法查找原理详解

2、同样我们把查找列和结果了分开处理,然后使用IF{1,0}来重构第二参数,第四参数没写,也就是近似查找!


本文由“壹伴编辑器”提供技术支持
第二参数的可塑性和可玩性真的很强很多,其他参数虽然没有那么可塑,但是也有一些变形玩法!

 登峰造极 | 但条件是真的无趣,试试多条件吧!



▼ 动画演示


要点说明

1、如果你新手,不知道使用多条件是可以理解的,但是当你跟别人讲你精通Excel,VLOOKUP很简单的时候,说不会多条件就说不过了!

2、这里主要说明的是思路的突破,既然执行文本,然后多列组合后也是文本,同样支持,但是没人告诉你,你可能真的反应不过来!

3、同样,第二参数依据需要重构,只是这次涉及到多重计算,符合数组特性,所以需要“三键”录入!

本文由“壹伴编辑器”提供技术支持
第三参数获取也可以一“玩”!

返璞归真 |  没有匹配关系的多列结果!


要点说明

这里其实比较简单,也是补充一些思路问题,当然我们返回多列,但是又没有办法向之前一样使用函数去匹配列的情况下,可以直接输入常量数组指定结果列,结果是一个区域数组,“三键”录入


本文由“壹伴编辑器”提供技术支持

出神入化 | 第一参数,也很有趣!


需求说明:多人一组,按平均值计算成绩

▼有点小复杂的公式,试试庖丁解牛
=AVERAGE(VLOOKUP(T(IF({1},TRIM(MID(SUBSTITUTE(A10,"\",REPT(" ",99)),ROW(INDIRECT("1:"&(LEN(A10)-LEN(SUBSTITUTE(A10,"\",""))+1)))*99-98,99)))),$A$2:$B$7,2,))


核心要点:

1、第一参数在O365以下虽然不直接支持区域或者区域数组,但是可以通过数组化降维的方式来实现查找,目前O365已经支持区域数组,但是常量数组是可以直接使用的普通版本中!

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多