Excel中VLOOKUP跨文件查找

作者:iamlaosong

同事在使用vlookup函数时,是跨文件查找,但是却报莫名其妙的错,导致公式无法完成。错误提示如下:

接手过来看了一下,生成的公式如下:

=VLOOKUP(B2,[法院热敏打印20201203.xls]热敏打印!$B:$C,2,0)

似乎没啥问题,而且文件名和工作表名称也是自动生成出来的,不存在拼写错误的问题。

仔细检查发现两个文件查找列数据类型不一致,一个是数值型,一个是文本型。改成一致后问题解决。

而且,当查找的文件打开是,公式如上面显示,如果关闭文件,则公式显示全路径文件名:

=VLOOKUP(B2,'E:\地市\安庆回执\[法院热敏打印20201203.xls]热敏打印'!$B$1:$C$6553,2,0)

所以,跨文件查找的时候,公式中是包含有路径名的,自己写公式的时候要注意。

### 回答1: 可以使用 pandas 库的 merge 函数来实现类似于 Excel 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) ``` 其,`file.xlsx` 是 Excel 文件名,`Sheet1` 和 `Sheet2` 分别是两个工作表的名称,`key` 是两个表共同的列名,`how='left'` 表示使用左连接方式合并。 ### 回答2: 在Python引用ExcelVLOOKUP函数需要通过安装openpyxl库来实现。首先,我们需要使用openpyxl库打开Excel文件。然后,选择对应的工作表和数据范围。 接下来,我们可以使用openpyxl的VLOOKUP函数进行引用操作。该函数的语法如下所示: ``` from openpyxl import load_workbook from openpyxl.utils import quote_sheetname from openpyxl.formula.translate import Translator def vlookup(search_value, search_range, return_col_index, exact_match=True, sheet=None): if sheet is None: sheet = wb.active sheetname = quote_sheetname(sheet.title) formula = f'=VLOOKUP({search_value}, {sheetname}!{search_range}, {return_col_index}, {exact_match})' formula = Translator(formula, origin=sheetname, target=sheetname).translate_formula() return formula # 加载Excel文件 wb = load_workbook('example.xlsx') #选择工作表 sheet = wb['Sheet1'] # 调用VLOOKUP函数 search_value = 'A' search_range = 'A2:B10' return_col_index = '2' exact_match = True formula = vlookup(search_value, search_range, return_col_index, exact_match, sheet) print(formula) ``` 其,`search_value`代表需要查找的值,`search_range`代表数据范围,`return_col_index`代表返回列的索引,`exact_match`是一个布尔值,表示是否精确匹配。这段代码会将VLOOKUP函数的结果以字符串形式输出。你可以根据实际需求修改代码文件名、工作表名、数据范围等参数,从而实现具体的引用操作。 ### 回答3: 在Python引用ExcelVLOOKUP函数可以使用pandas库来实现。首先,需要安装pandas库: ``` pip install pandas ``` 然后,可以按照以下步骤来引用ExcelVLOOKUP函数: 1. 导入pandas库: ```python import pandas as pd ``` 2. 读取Excel文件: ```python data = pd.read_excel('your_file.xlsx') # 替换为你的Excel文件路径 ``` 3. 使用VLOOKUP函数: ```python result = pd.merge(data1, data2, on='column_name', how='left') # 替换相应的参数和列名 ``` 其,`data1`和`data2`是需要进行VLOOKUP操作的两个表格,`column_name`是用于进行匹配的列名,`how='left'`表示使用左连接,即保留左表的所有行。 4. 输出结果: ```python print(result) ``` 以上步骤的代码可以根据具体的需求进行调整和修改,以适应不同的VLOOKUP操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值