EXCEL技能点4——介绍Vlookup与循环引用

1 Vlookup函数的介绍

​ VLOOKUP函数是Excel中的一个纵向查找函数,它与LOOKUP函数和HLOOKUP函数属于一类函数,在工作中都有广泛应用,例如可以用来核对数据,多个表格之间快速导入数据等函数功能。功能是按列查找,最终返回该列所需查询序列所对应的值;与之对应的HLOOKUP是按行查找的。

​ 在实际生活中,假设有一个表格中有姓名和学号还有他的成绩。我们在另一个表格中有一部分人的名字,那么希望查找出他的成绩,就是用Vlookup函数就可以了。

  • 在Excel中的输入:

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

  • 参数说明

image-20230314123441376

介绍很通透,很多网站都有。使用起来也很简单,但是笔者相信很多人就是用不对。在之前的工作中,我也反复遇到过这种问题。最主要的原因,应当是查找和输入的区域格式不一致。

image-20230314123747927

=VLOOKUP(G21,A2:B4,2,FALSE)

其中Lookup_value是一个很重要的参数,它可以是数值、文字字符串、或参照地址。常用的是参照地址。

因此,如果出现N/A错误,除了确实找不到外,就是两者不是同一种格式。例如姓名和查找区域的姓名格式需要保持一致(即都是文本)才行。

2 Excel中的循环引用

这个其实就是鸡生蛋 蛋生鸡的问题。假设有个函数是y=x+1。好的,到这里没有了,请问x和y分别等于多少?显然没有答案。但是可以进行循环引用,那就是x=1时候y=2;x=2时候y=3,Excel会自动得到最低符合条件的值。

image-20230314130223482

如图所示,第一步先输入y的函数,此时默认x=0,所以会输出1。

image-20230314130320532

接着输入x=y-1这个时候会提示循环引用。

点击确定就可以得到值 x=0 y=1了。

当一个单元格内的公式直接或间接地应用了这个公式本身所在的单元格时,就称为循环引用。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 可以使用 pandas 库中的 merge 函数来实现类似于 vlookup 的功能,示例代码如下: ```python import pandas as pd # 读取 Excel 文件中的数据 df1 = pd.read_excel('file.xlsx', sheet_name='Sheet1') df2 = pd.read_excel('file.xlsx', sheet_name='Sheet2') # 使用 merge 函数进行合并 result = pd.merge(df1, df2, on='key', how='left') # 输出结果 print(result) ``` 其中,`df1` 和 `df2` 分别代表两个 Excel 文件中的数据,`key` 列为两个表格中的关键列,`how` 参数指定了合并方式,可以是 `left`、`right`、`inner` 或 `outer`。最后,将合并后的结果输出即可。 ### 回答2: 在Python中操作Excel的常用库是`openpyxl`,下面是一个示例代码,实现了引用Excel同一个工作表(sheet)的vlookup功能: ```python import openpyxl def vlookup(sheet, lookup_value, lookup_column, return_column): for row in sheet.iter_rows(min_row=2, values_only=True): if row[lookup_column - 1] == lookup_value: return row[return_column - 1] return None # 打开Excel文件 workbook = openpyxl.load_workbook("example.xlsx") # 获取指定sheet sheet = workbook["Sheet1"] # 调用vlookup函数进行查询 lookup_value = "A" lookup_column = 1 return_column = 2 result = vlookup(sheet, lookup_value, lookup_column, return_column) # 输出查询结果 print(result) # 关闭Excel文件 workbook.close() ``` 上面的代码中,`vlookup`函数接受四个参数:`sheet`是要进行查询的Excel工作表,`lookup_value`是要查询的值,`lookup_column`是要查询的列号,`return_column`是要返回的列号。函数通过遍历工作表中的每一行,找到匹配的值并返回对应的结果,如果没有找到匹配的值,则返回`None`。 代码中先打开Excel文件,然后根据文件名获取指定的工作表。接下来调用`vlookup`函数进行查询,传入要查询的值、要查询的列号和要返回的列号。最后输出查询结果。 最后,记得关闭Excel文件,以释放资源。 ### 回答3: 在Python中使用xlwings库可以方便地引用Excel中同一个sheet的vlookup函数。首先,确保已经安装了xlwings库。 然后,使用以下代码示例来实现vlookup的功能: ```python import xlwings as xw # 连接到Excel wb = xw.Book("文件路径.xls") # 输入Excel文件的路径和文件名 # 获取要操作的sheet sheet = wb.sheets["Sheet1"] # 输入要操作的sheet名 # 定义vlookup的参数 lookup_value = 123 # 输入要查找的值 table_array = sheet.range("A1:B6") # 输入要进行查找的范围,如A1:B6 col_index_num = 2 # 输入要返回的值所在的列索引号 range_lookup = False # 输入是否要进行近似匹配,False表示精确匹配,True表示近似匹配 # 执行vlookup函数 result = sheet.function.vlookup(lookup_value, table_array, col_index_num, range_lookup) # 输出结果 print(result) # 关闭Excel wb.close() ``` 上述代码中,首先使用`xw.Book`函数连接到Excel文件,然后通过`wb.sheets`来选择要操作的sheet。接着,分别定义了vlookup函数的参数,并使用`sheet.function.vlookup`执行该函数。最后,使用`print`输出结果,然后使用`wb.close()`关闭Excel。 需要注意的是,xlwings库依赖于安装好的Excel,因此需要确保已经正确安装并设置了Excel的路径。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值