两个excel表格信息合并 自动匹配_别再用Vlookup函数了,合并3个表格它更简单!...

在实际工作中,经常遇到把多个来源不同的表格合并成一个Excel表格的难题,如下面的工资级别表、考勤表和员工信息表合并到一个表中。

2270b8381e1b2ceb4aa6cbc6196cd0c1.gif


很多新手遇到这种问题不知所措,而熟悉Excel函数的同学会用Vlookup进行查找,但操作有些麻烦:

  1. 先提取各个表所有的员工姓名
  2. 把标题行复制到一个表中
  3. 用Vlookup根据姓名逐个表、逐个字段查找

只是如果需要列比较多,需要从右至左查,用Vlookup更麻烦。其实,Excel有一个新功能专门为合并表准备的,它就是power query的合并查询功能。想要获取更多财税工具,请V信搜索小程序:宏兴会计培训学校

操作步骤:

1、把工作表导入power query

数据 - 新建查询 - 从文件 - 找到文件导入 - 选取3个表格 - 转换数据

e3b96a7813d85b56cd820c6d79435a9d.gif


2、合并 工资级别表和员工信息表

选取员工信息表 - 合并查询 - 选取要合

阅读终点,创作起航,您可以撰写心得或摘录文章要点写篇博文。去创作
  • 5
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
软件介绍: 两个Excel表格匹配合并Excel文件信息匹配软件使用说明软件功能本软件能实现两个excel文件之间整条数据按某一个列进行匹配,并将匹配成功的行数据合并为一整行,之后输出到新的excel中。(匹配的源文件中,未匹配成功的行也会输出到新的excel中)。例如:A表有数据内容  姓名 工号 年龄    张三 9001 23    李四 9002 45  B表有数据内容 姓名 性别 学历    张三 男 本科生    王丽 女 研究生  以A表的作为匹配的源文件,A表第一列作为匹配内容;B表作为搜索的文件,B表第一列作为匹配内容,匹配结果为新表数据内容姓名 工号 年龄 姓名 性别 学历    张三 9001 23 张三 男 本科生    李四 9002 45     软件使用指南指定需要进行匹配excel表格。需要在软件的根目录里,对“excel匹配设置.txt”进行修改(如没有此文件,请自行创建,文件名必须保持一致)。“excel匹配设置.txt”包含四行内容,如软件中的示例:各行的含义如下:第一行:匹配excel源文件的绝对路径(如果文件在本软件根目录下,请直接输入文件名称即可)。第二行:源文件里需要进行匹配的列数。第三行:被搜索的excel文件的绝对路径(如果文件在本软件根目录下,请直接输入文件名称即可)。第四行:被搜索文件中进行匹配的列数。按上文的文本框内的配置,软件将会依照根目录中《拟录取名单》中第2列的内容,在根目录中《硕士生复试名单》的第一列搜索匹配(相同)的数据,并将《硕士生复试名单》中匹配成功的整行数据复制到《拟录取名单》相应行的末尾空白处,之后输出到一个新的excel文件里(文件在软件的根目录中)。建议在使用时候,将文件都拷贝到软件的根目录进行操作。双击运行“run.bat”文件如果系统提示无法运行,请右键点击“run.bat”文件,选择“以管理员身份运行”。特别提醒本软件只支持对xls格式的excel文件进行匹配,无法匹配xlsx格式的excel文件,请在进行匹配之前,自行做好格式转换。在输出新的excel文件以后,打开时可能会报错(如下图),此为您使用的excel软件版本较新,与旧版本(xls格式)不太兼容,并不意味着数据丢失,请在文件打开以后,另存为其他文件即可。本人开发此工具仅为了便于个人使用,允许一切人员对其进行使用。虽然在个人使用过程中没有出现数据匹配不准确的问题,但本人不对数据合并后的准确性做任何的保证。在使用本软件时候,请对需要进行匹配excel文件进行备份。如果数据丢失、覆写或误删,本人不承担任何责任。
### 回答1: 可以使用 Python 的 `pandas` 库来实现 Excel 中的 `VLOOKUP` 函数的功能。 首先,需要使用 `pandas.read_excel()` 函数读取 Excel 文件,然后使用 `pandas.DataFrame.merge()` 函数两个表格合并。具体来说,可以这样做: ```python import pandas as pd # 读取 Excel 文件 df1 = pd.read_excel('file1.xlsx') df2 = pd.read_excel('file2.xlsx') # 将两个表格合并 result = pd.merge(df1, df2, on='ID', how='left') ``` 在上面的代码中,`df1` 和 `df2` 分别代表两个表格,`ID` 是这两个表格中用于匹配的列名。`how='left'` 表示使用左连接,即保留 `df1` 中的所有行,并在可能的情况下匹配 `df2` 中的行。 合并后的结果保存在 `result` 中,它是一个新的表格,其中包含 `df1` 和 `df2` 中的所有列,并在可能的情况下包含匹配的行。 注意,在使用 `pandas.merge()` 函数时,需要指定用于匹配的列名,这在 Excel 中的 `VLOOKUP` 函数中也是必需的。 此外,如果要在合并后的表格中查找特定的值,可以使用 `pandas.DataFrame.loc[]` 函数,例如: ```python # 在合并后的表格中查找 ID 为 123 的行 row = result.loc[result['ID'] == 123] ``` 希望这些信息对您 ### 回答2: Python可以使用openpyxl库来实现类似于Excel中的VLOOKUP函数的功能。下面是一个简单的示例: ```python from openpyxl import load_workbook def vlookup(lookup_value, lookup_range, return_column): # 加载Excel文件 workbook = load_workbook('data.xlsx') # 选择工作表 worksheet = workbook['Sheet1'] # 定义返回值变量 result = None # 查找匹配值的行 for row in lookup_range: if row[0].value == lookup_value: # 获取返回列的值 result = row[return_column - 1].value break # 关闭工作簿 workbook.close() return result # 使用vlookup函数 result = vlookup('A', worksheet['A2:B4'], 2) print(result) ``` 在这个例子中,我们定义了一个vlookup函数,它接受三个参数:查找值(lookup_value),查找范围(lookup_range),返回列(return_column)。 函数首先加载一个名为"data.xlsx"的Excel文件。然后,选择工作表"Sheet1"。 接下来,它通过遍历查找范围中的每一行来找到匹配值的行。如果找到了匹配值,它将返回列的值存储在result变量中,并使用break语句跳出循环。 最后,函数关闭工作簿并返回查找结果。 在示例中,我们使用vlookup函数来查找'A'在A2:B4范围内的匹配值,并返回对应的第2列的值。 请注意,你需要安装openpyxl库,并将要查找的Excel文件命名为"data.xlsx",并确保工作表名为"Sheet1"。 ### 回答3: 要实现 ExcelVLOOKUP 函数的功能,可以使用 openpyxl 库来操作 Excel 文件,并通过代码实现相同的功能。以下是一个简单的示例: ```python import openpyxl def vlookup(lookup_value, table_range, col_index): wb = openpyxl.load_workbook('data.xlsx') ws = wb.active for row in ws[table_range]: if row[0].value == lookup_value: return row[col_index - 1].value return None result = vlookup('Tom', 'A2:C10', 2) print(result) ``` 首先,需要安装 openpyxl 库,在代码中导入该库。 在 `vlookup` 函数中,首先加载 Excel 文件,并获取当前活动的工作表。 然后,通过遍历指定的范围(在示例中为 `'A2:C10'`),找到匹配的行,并返回指定列的值。 最后,使用示例中的 `vlookup` 方法来执行 VLOOKUP 函数。在此示例中,它将在 data.xlsx 文件的活动工作表中找到名为 'Tom' 的值,并返回其对应的第二列的值。 请注意,此示例仅演示了如何使用 openpyxl 库实现 VLOOKUP 函数的基本功能。在实际应用中,可能需要根据具体需求进一步定制和调整代码。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_39771969

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值