用python来写Excel 的vlookup

首先先介绍一下vlookup的基本用法

用vlookup 的前提:有一份确定了是标准的表。另一份是需要校验的,因为数量比较多,就需要用到vlookup的这个函数(比如校验名字和身份证是否对应)

在表格或数值数组的首列查找指定的数值,并由此返回表格或数组当前行中指定列处的数值。

默认情况下,表是升序的。

语法

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

■Lookup_value为需要在数据表第一列中进行查找的数值。Lookup_value 可以为数值、引用或文本字符串。

当vlookup函数第一参数省略查找值时,表示用0查找。

■Table_array为需要在其中查找数据的数据表。使用对区域或区域名称的引用。

■col_index_num为table_array 中查找数据的数据列序号。col_index_num 为 1 时,返回 table_array 第一列的数

值,col_index_num 为 2 时,返回 table_array 第二列的数值,以此类推。

如果 col_index_num 小于1,函数 VLOOKUP 返回错误值 #VALUE!;如果 col_index_num 大于 table_array 的列

数,函数 VLOOKUP 返回错误值#REF!。

■Range_lookup为一逻辑值,指明函数 VLOOKUP 查找时是精确匹配,还是近似匹配。如果为FALSE或0,则返回精

确匹配,如果找不到,则返回错误值 #N/A。如果 range_lookup 为TRUE或1,函数 VLOOKUP 将查找近似匹配值,

也就是说,如果找不到精确匹配值,则返回小于 lookup_value 的最大数值。如果range_lookup 省略,则默认为1。

上述内容摘录于https://www.wps.cn/learning/course/detail/id/46.html?chan=pc_win_function

这里先用一下vlookup来演示一下,首先看一下标准的表,建议给他一个新工作表,然后加上保护,以后都可以用,如果只是单纯做实验的话可以复制在旁边,一会选中那个区域就可以
用python来写Excel 的vlookup_第1张图片
这个是要校验的表格,我们看到有一些名字和单位对应错了,现在就要校验过来。
用python来写Excel 的vlookup_第2张图片
用python来写Excel 的vlookup_第3张图片

查找值就选择名字那一列
数据表就是标准的那一份,注意要全选中,列序数就是你要对应的那个行,我们要核对的是单位这一行,所以是2,匹配条件选择0,0是完全匹配
用python来写Excel 的vlookup_第4张图片
为了能够更加直观的看哪一些是出错了的,我们用一下if函数检查一下

用python来写Excel 的vlookup_第5张图片
用python来写Excel 的vlookup_第6张图片
到这里就搞定了!

为了装一下逼,我也用python来搞一波这个!!!!

from openpyxl import load_workbook
# 默认可读写,若有需要可以指定write_only和read_only为True
workbook = load_workbook('标.xlsx')
booksheet = workbook.active                 #获取当前活跃的sheet,默认是第一个sheet

dict={}
A_range = booksheet['A']
B_range = booksheet['B']
for  i,j in zip(A_range,B_range):
    dict[i.value]=j.value
# print(dict) #这个就是一个用来验真假的字典

#现在打开的是
tempbook = load_workbook('待验.xlsx').active
A_temp = tempbook['A']
B_temp = tempbook['B']
for i,j in zip(A_temp,B_temp):
    # print(i.value)
    # print(j.value)
    try:
        if dict[i.value] != j.value :
            print("{}的单位出现了错误,他不应该是{},他应该是{}".format(i.value,j.value,dict[i.value]))
    except:print("{}的名字输入错误".format(i.value))

你可能感兴趣的:(python)