pandas excel lookup函数_号称函数中的王者——vlookup详解

由于众所周知的原因,这几个月心里挺闹腾。俗话说“除了生死之外都是小事”,那我这几个月一直被大事所困,也就没有时间考虑更新公众号这种小事。(吼吼,都是借口)

50f4449828b02f98e3b90e77866f674e.png好了,不扯犊子,今天来说说号称Excel中函数之王的vlookup函数。

前言

之所以今天想说这个,是因为前两天想嘚瑟一下自己的excel的水平,但貌似翻车了,所以就把这货拿出来又复习了一遍。

先来说说我认识这个函数的过程。

话说很久很久以前,那时候刚参加工作,经常会遇到一个很棘手的问题,就是有一组数据表示一些监测设施的监测数据,需要把这些数据转到地图上用来绘制等值线图,但是这些设施的坐标信息存在另外一张excel表或数据库中,那如何把这些坐标信息对应的复制过来呢?

现在的小伙伴看到这个问题可能觉得这也太easy了,根本称不上是问题,但当年我上学的时候计算机普及率不高,另外在学校也没好好学,当时觉得这个问题太难了。如果只有十个八个数据我就Ctrl+F,一个一个查找再Ctrl+C、Ctrl+v就解决了,可是我往往遇到的是几千个数据,OMG。

话说当年咱也是个很要强的同学,自己动手解决了这个问题,而且掌握了至少10种方法来解决这个问题。主要的几种方法是:复制到access等数据库中用select语句、VBA写两个循环、Pyhton中Pandas库中的merge函数、excel中的vlookup函数……

这几种方法各有优缺点,以前很喜欢用VBA,写一个sub(),只要两个循环就能解决这个问题,而且看到数据一条一条拷贝过来的过程,很有成就感。但这种方法其实效率太低了,数据量大的话这个过程就有点慢,后来就用的少了。

vlookup函数就方便多了,只要在单元格中写一个函数,只有四个参数设定好,一下就出来了,再用自动填充,整列数据都搞定了。

vlookup详解

vlookup这个函数在数据查找中可以说是一个名副其实的万能函数,号称excel函数中的万金油。这个函数有很多种打开方式,它既可以正向查找,逆向查找,还可以多条件查找。总之,玩法多多,只有想不到,没有做不到。

语法

=VLOOKUP(lookup_value,table_array,col_index_num,[range_lookup])

翻译一下

=VLOOKUP(查找值,数据表,列序数,[匹配条件])

继续翻译

=VLOOKUP(找什么,在哪找,第几列,完全一样还是差不多就行?)

参数解释

第一个参数lookup_value:查找的值。就是前面的那个问题中的有监测数据的表中的监测设施名称;

第二个参数table_array:查阅值所在的区域。就是前面那个问题中包含监测设施坐标数据的数据区域;

第三个参数col_index_num:区域中包含返回值的列号。就是前面问题中坐标数据列在第二个参数选定的区域中的列号;

第四个参数range_lookup(可选):匹配调减。为0时代表精确查找(必须完全一致);为1时代表模糊查找(缺省也默认模糊查找,如果找不到精确匹配值,则返回小于“查找值”的最大数值)。

举个栗子

举个前述问题的缩小版的栗子,如下图:

0b86c84baa9671ddf33554997ff0a860.png

A~D列是总表数据(脑补一下这里有一眼望不到头的所谓海量数据),H列是需要匹配的设施列表,I~K列是需要从总表中复制过来的信息。

  1. 复制一列数据

假设只需要复制第I列数据。在I2单元格中输入:"=VLOOKUP(H2,2:15,2,0)”,然后向下填充,这列数据就都复制过来了,如下图:dd5741589022b0145a2fbf94bd9e91c8.png

这里需要注意的是,由于向下填充过程中,查找区域会发生变化,公式中第二个参数需要用“$”把查找区域固定下来。

2.复制多列数据 假设需要同时复制I~K列,共三列数据。

先在I2单元格中输入:=VLOOKUP(AD,这里第一个参数需要用”把列固定下来,另外就是第三个参数不是直接给出列号,而是用COLUMN(B1)代替,就是用一个嵌套的COLUMN函数,动态的查找相对应的列。结果如下图:b427d5e1134dbd5041f194c33c2cfa3f.png

好了,小伙伴们,是不是很简单,工作效率是不是又提升了一大截。

Ok,为了心血管的健康,早睡早起!

14e3f1273a6fd0feb8533b0a9a52dad2.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值