Python中也可以写Excel中的“Vlookup”函数?太牛逼了吧!

转自:数据分析与统计学之美

Vlookup函数,可以算是一个数据专员必须要会使用的基本函数了,确实很好用。但是你可能会注意到,Excel一旦数据量过大,打开都费劲了,何况打开后,你还要输入公式计算,就更费劲了,此时你有没有想到过被称作“万金油”的Python,他好像啥都可以做,是不是很牛逼?对于Excel来说的大数据量,但是对于Python来说,应该是小菜一碟。今天我就带着大家对比学习一下,怎么分别在Excel和Python中使用Vlookup函数。

数据源介绍

如图所示,有一个“vlookup.xlsx”文件,“A1:F11”是我们的数据源区域,“K1:L5”是我们的查找源区域。我们的目的就是要在数据源区域的G列加一列数据,查找出不同类型下名称表示。

Vlookup函数介绍

这个函数我想大家应该都会,大家应该也不需要我介绍的太详细,因此我就简单的为大家介绍一下vlookup函数的语法。

  • 参数说明:vlookup(待查找目标, 查找区域, 匹配值所在的列, 精确匹配OR模糊查找);
  • 用一句通俗的话来说明vlookup函数的用法:针对每一个待查找目标,它就能从指定的查找区域中,查找返回想要查找到的值。

Excel中使用Vlookup函数

针对上述提到的数据源,了解Vlookup函数的语法后,下面来看看如何在Excel中使用Vlookup函数。

观察上图:首先,我们在G1单元格新增了一个“名称”列。接着,在G2单元格我们写了一个vlookup公式,E2表示每一个待查找值,K1:L5表示待查找区域,我们使用F3快捷键将这个区域变为了绝对引用,因为我们的查找区域就是这一个固定范围,2表示待返回值在查找区域中所在的列数,0表示精确匹配。最后,使用填充柄下拉填充即可。

Python中使用Vlookup函数

在Python中利用openpyxl库,就可以完成公式的填充。因此在使用openpyxl之前,需要使用pip install openpyxl安装好这个库。

from openpyxl import load_workbook

workbook = load_workbook('vlookup.xlsx')
sheet = workbook['Sheet1']

sheet['G1'] = '名称'
for i in range(2,sheet.max_row+1): 
    sheet[f'G{i}'] = f'=VLOOKUP(E{i},$K$1:$L$5,2,0)'
workbook.save(filename = 'vllokup1.xlsx')

在openpyxl中,读取已有的Excel文件,使用到的是load_workbook类,因此需要提前导入这个类。接着,实例化load_workbook('vlookup.xlsx')对象,得到一个工作簿对象。然后,使用workbook['Sheet1']激活该工作簿中的Sheet1表,表示我们要针对这个表进行操作。完成上述操作后,下面就可以进行vlookup公式的填写了。

首先,我们利用sheet['G1'] = '名称'给G1单元格增加了一个表头。然后写了一个循环,循环第2行到最后一行,针对每一个G列单元格,我们写入上述vlookup公式。最后记得保存一下即可。

感谢阅读
(0)

相关推荐

  • python 读写excel工具openPyXL

    openPyXL 是excel读写python包,支持 Excel 2010 xlsx/xlsm/xltx/xltm 格式文件.参见:https://openpyxl.readthedocs.io/e ...

  • Python作业之Excel操作。上

    连着三篇文章解决期末大作业,此为第一篇.使用Python操作Excel文件. 安装环境我就不写了,不需要写了...个人还是建议python版本3.6,3.7就很完美,我现在3.8,时不时的出现错误,心 ...

  • python+openpyxl创建excel

    创建一个excel,在excel中添加4个sheet wb = openpyxl.Workbook() for i in range(4):     sheet = wb .create_sheet( ...

  • Power BI中如何实现类似Excel中的逆序坐标图?

    小勤:大海,Power BI里面怎么实现逆序刻度图?比如我想分析学生多次考试成绩的名次变化趋势,由于名次数据越小越好,比如第1名要好过第2名,所以,数据小的应该显示在数据大的上方.在Excel里,可以 ...

  • 如何把Word中表格转存到Excel中

            Excel都有哪些功能,这个问题对于开发者和使用者来说有两种不同的答案.        开发者会站在已有的功能来讲,使用者会站在应用场景来说,他们的答案在很大程度上是不同的.     ...

  • 从Word表格中提取数据到Excel中

    操作方法 01 将所有需要整理的表格放在一个文件夹里面 02 打开word或金山文字,本文使用金山系列软件(支持国产正版一下),点击插入菜单,然后依次点击"对象'-'文件中文字' 03 选择 ...

  • 76+7+9对飙82+15+13!胖虎14中14命中率100%!无奈2米13的库里太牛逼了

    小球童 对于球的理解,我是天才 我有AJ,你有关注我吗? 今日分享 今天是大年初二 小球童祝各位童迷们开年大吉,心想事成 今天NBA官网公布了本赛季第三期MVP榜 詹姆斯赛季至今,场均25.5分7.9 ...

  • 这次选股太牛逼了,9只股中8只创历史新高,1只创近5年新高!

    9月16日小董在文章<A股汽车巨头市值猛飙千亿,后续这些个股值得关注>中这样写道: 现在来看,这几只个股真的太牛了,9只股中今天有8只创历史新高,1只创近5年新高.我们按上面的顺序一个一个 ...

  • Excel技巧:Vlookup函数匹配常出错,这两个原因解析

    Excel技巧:Vlookup函数匹配常出错,这两个原因解析

  • Excel WPS的vlookup函数应用

    需求:如图所示,要把图1的对应内容输入到图2中,图1在sheet1,图2在sheet2. 图1 图2 用vlookup函数的解决方案: 在图2的B2单元格输入"=vlookup(" ...

  • 瞬间搞定大量数据!这4个Excel函数太牛了!

    哈喽大家好,我是小可~ 在实际应用中我们经常会用到数据粘贴,数据导入等大量数据的处理. 在这些过程中我们经常会遇到数据中包含不确定的空格.换行,导致在做数据匹配.引用.查找时出现错误. 今天小可带来四 ...

  • excel技巧:vlookup函数实现多条件匹配

    日常工作中我们有时会用到EXCEL做一些简单的数据处理,比如用VLOOKUP函数做匹配, 但是大多数情况匹配条件并不是唯一的,那么多匹配条件还能不能用vlookup函数呢?答案是YES! 查找了几个解 ...