如何自动合并两张服务月度数据表得到指定结构的目标Excel表格
完全可以实现自动化合并,无需手动调整对齐,根据你常用的工具可选择以下几种成熟方案:
无代码方案(Excel/Google Sheets适用)
用查找函数几步就能完成,适合日常办公场景:
- 首先提取所有不重复的服务名称:将两张表的Service列内容合并后用
UNIQUE函数去重,公式写为=UNIQUE(VSTACK(表1[Service], 表2[Service])),得到的结果作为目标表的第一列 - 填充Sep-21列:对应单元格输入
=XLOOKUP(当前行Service单元格, 表1[Service], 表1[Sep-21], ""),下拉填充所有行,找不到匹配值会自动留空 - 填充Aug-21列:对应单元格输入
=XLOOKUP(当前行Service单元格, 表2[Service], 表2[Aug-21], ""),下拉填充即可得到最终结果
如果你用的是没有XLOOKUP函数的旧版Excel,替换为
=IFERROR(VLOOKUP(当前行Service单元格, 表1数据范围, 2, FALSE), "")即可实现相同效果。
脚本方案(适合批量/定期处理场景)
如果需要处理大量同结构表格,或者要定期更新合并结果,可以用Python pandas实现:
import pandas as pd # 读取两张输入表,本地Excel文件可以换成pd.read_excel("文件路径") df_sep = pd.DataFrame({"Service": ["Service 1", "Service 3"], "Sep-21": [100, 300]}) df_aug = pd.DataFrame({"Service": ["Service 1", "Service 2"], "Aug-21": [1000, 200]}) # 外连接合并,按服务名称排序,缺失值填充为空 merge_result = pd.merge(df_sep, df_aug, on="Service", how="outer")\ .sort_values("Service")\ .fillna("") # 导出到Excel文件 merge_result.to_excel("合并结果.xlsx", index=False)
Power Query方案(适合定期更新数据场景)
如果两张表的数据会定期更新,用Excel内置的Power Query可以实现一次配置、一键刷新出结果:
- 分别将两张输入表加载到Power Query编辑器
- 选择「合并查询」,关联键选择Service列,合并类型选择「完全外部(两者中的所有行)」
- 展开合并后的列,删除多余字段后加载回Excel工作表,后续只要点击「全部刷新」就能自动生成最新的合并表。
内容的提问来源于stack exchange,提问作者tmaj
相关产品推荐
相关产品推荐

