简说Python,号主老表,Python终身学习者,数据分析爱好者,从18年开始分享Python知识,原创文章227篇,写过Python、SQL、Excel入门文章,也写过Web开发、数据分析文章,老表还总结整理了一份2022Python学习资料和电子书资源,关注后私信回复:2022 即可领取。
大家好,我是老表,之前给大家分享了Excel中超级好用的vlookup函数,一日一技:Excel中超级好用的VLOOKUP,解决工作难题,昨天发现Excel中还有一个hlookup,所以今天就迫不及待的想分享给大家了。
不卖关子,先说一下vlookup和hlookup各有什么作用?看过上一篇文章的应该知道vlookup可以通过关键字A从另一个表中取出自己想要的该关键字A对应的值B。
vlookup使用
那hlookup是做什么的呢?其实通过两个词的长相知道它们的用处应该差不多,确实,hlookup本质的目的也是通过关键字A从另一个表中取出自己想要的该关键字A对应的值B。
hlookup使用
那么它们有什么区别呢?
通过上面的两个图大家应该可以很容易看出其差别,vlookup和hlookup的搜索区间(table_array)不一样,一个是一行一行的,一个是一列一列的,vlookup是在竖向区间内查找,第一列为关键字A所在区域,然后指定对应的值B所在列,以及是精确查找还是模糊查找,而hlookup表示横向查找,第一行为关键字A所在区域,然后指定对应的值B所在行,以及是精确查找还是模糊查找。
Vertical and horizontalhlookup的应用场景?
成绩表:学号,语文成绩,数学成绩,英语成绩
学员表:学号,姓名
现在有成绩表和学员表,按习惯我们会把两个表如上所示设计,这个时候老师想知道具体(看姓名,而不是学号)每个同学各科的分数,如何来做呢?
这个时候我们可以使用hlookup函数,如下视频操作:
彩蛋
说完vlookup和hlookup后,不出所料还有lookup。lookup函数既可通过行搜索(横向),也可以通过列搜索(竖向),所以你可以使用lookup函数实现vlookup和hlookup的功能。
需要注意的是lookup只有三个参数,第一个参数代表搜索关键字A,第二个参数代表搜索关键字A所在行或列(注意只能是一行或者一列),第三个参数表示搜索关键字对应的值B所在的列或行(注意只能是一行或者一列),返回的结果是,,,描述有点绕口,看图吧。
写完上面,再看看官方描述,官方的这句话说的很好,“LOOKUP 的向量形式在单行区域或单列区域(称为“向量”)中查找值,然后返回第二个单行区域或单列区域中相同位置的值”。具体操作如下视频所示:
总结
工作中一般利用vlookup多,大多数人可能也只听过vlookup的大名,真遇到向hlookup这种情况我们也可以利用Excel中的转置变换成vlookup处理的格式,那还有没有必要了解hlookup和lookup呢?我觉得是有必要的,比如我,写了这篇文章后,我估计这辈子只要不是得了老年痴呆,肯定忘不了这个lookup的用法哈哈哈哈。
最后,不管是使用lookup、vlookup还是hlookup,我们都需要注意每一个参数对应的值,特别是参数是区域的时候,有哪些参数区域是不用改动的(加上$符号),哪些在下拉复制的时候是需要递增的,这些都要设置好,不然当数据量特别大的时候可能数据参数挪位错误,导致数据查找错误,如果恰好挪位后数据都显示了,没有报错的,那么就很难发现错误了。