如何通过内连接借助关联工作表填充Sheet1的site字段?
填充Sheet1的
site字段方法 先明确三个工作表的关联逻辑:
- Sheet1的
user_id→ 匹配Sheet2的user_id,获取对应的profile_id - 再用该
profile_id匹配Sheet3的profile_id,就能拿到目标site值(即aol)
方法一:Excel嵌套函数(快速上手)
如果用VLOOKUP(兼容多数Excel版本),在Sheet1的site列第一个空白单元格(比如C2)输入:
=VLOOKUP(VLOOKUP(A2, Sheet2!A:B, 2, FALSE), Sheet3!A:B, 2, FALSE)
按回车后下拉填充即可。
要是你用的是Excel 365/2021及以后版本,用XLOOKUP语法更直观:
=XLOOKUP(XLOOKUP(A2, Sheet2!A:A, Sheet2!B:B), Sheet3!A:A, Sheet3!B:B)
方法二:Power Query(批量处理大量数据)
- 打开Excel,点击「数据」→「获取数据」→「从文件」→「从工作簿」,选中你的文件
- 导航器里勾选三个Sheet,选择「仅创建连接」后确定
- 再次点击「数据」→「合并查询」→「将查询作为新查询」
- 先合并Sheet1和Sheet2:主表选Sheet1,关联列选
user_id,关联表选Sheet2,同样选user_id,连接类型选「仅匹配」,确定后删除多余列,只留Sheet1的列和Sheet2的profile_id - 再把这个结果和Sheet3合并:关联列选
profile_id,连接类型「仅匹配」,确定后展开site列 - 最后把处理好的数据加载回Excel即可
方法三:Python代码(自动化/非Excel场景)
用pandas库可以快速完成批量处理,代码如下:
import pandas as pd # 读取三个工作表 df1 = pd.read_excel("你的文件路径.xlsx", sheet_name="Sheet1") df2 = pd.read_excel("你的文件路径.xlsx", sheet_name="Sheet2") df3 = pd.read_excel("你的文件路径.xlsx", sheet_name="Sheet3") # 两步关联合并 merged = pd.merge(df1, df2, on="user_id", how="left") final = pd.merge(merged, df3, on="profile_id", how="left") # 保留原Sheet1的结构 final = final[["user_id", "name", "site"]] # 保存结果 final.to_excel("填充后的Sheet1.xlsx", index=False)
内容的提问来源于stack exchange,提问作者Steve
相关产品推荐
相关产品推荐

