excel多条件查找(vlookup),对应python merge函数合并多个excel相同名称
=VLOOKUP(B2&E2&F2,CHOOSE({1,2},$Q$2:$Q$7027&$T$2:$T$7027&$U$2:$U$7027,$V$2:$V$7027),2,FALSE)
此公式是数组公式,需要以三键输入:CTRL + SHIFT + ENTER。
这么做是为了方便后面算MI。
上面的方法能算出来,但是太累了,我们可以使用python里面pandas的merge函数:
三个excel数据情况:
#!usr/bin/env python # -*- coding:utf-8 -*- """ @author: Su @file: concat.py @time: 2023/08/23 @desc: """ from functools import reduce import pandas as pd # 从excel导入表 df1 = pd.read_excel('processdata/lianxi/鄂尔多斯SPI.xlsx') df2 = pd.read_excel('processdata/lianxi/鄂尔多斯SPIW2.xlsx') df3 = pd.read_excel('processdata/lianxi/鄂尔多斯MI.xlsx') # 把excel的数都放入DataFrame中 df1 = pd.DataFrame(df1) df2 = pd.DataFrame(df2) df3 = pd.DataFrame(df3) dfs = [df1,df2,df3] # 合并三个excel用下面的语法,使用reduce和lambda函数简化merge的过程 merge = reduce(lambda x,y: pd.merge(x,y,how='left'),dfs) # merge只能合并两个dataframe,合并两个excel用下面的语法,left指以第一个excel为标准 # merge = pd.merge(df1,df2,how='left') # print(merge) merge.to_excel('processdata/lianxi/hebing.xlsx')