Power Query双条件取值求助:从多工作簿匹配温度密度数据
解决Power Query多条件(温度+密度)跨工作簿匹配问题
嘿,我来帮你搞定这个多条件匹配的需求!要实现同时匹配温度和密度两列,咱们分三步来操作,每一步都给你具体的操作和M代码参考:
第一步:批量加载文件夹中所有工作簿的温度&密度数据
- 按你说的,先通过
New Query > From File > From Folder导入存放目标工作簿的文件夹路径,你会看到文件夹里所有文件的列表。 - 添加一个自定义列,用来加载每个工作簿里的内容,公式如下:
= Table.FromRecords({[Content = Excel.Workbook([Content])]}) - 展开这个自定义列里的
Content,然后选择你需要的工作表(如果所有工作簿结构一致,直接选对应表名),再展开数据,只保留temperature和density两列。 - 最后整理数据:确保这两列的数据类型是数值型(避免匹配时因为类型不兼容失败),可以用
Change Type功能设置为Decimal Number或Whole Number。
第二步:准备目标工作簿的观测数据
在你当前的目标工作簿里,选中Observed Temperature和Observed Density两列,通过Data > From Table/Range把它们加载到Power Query编辑器里。同样检查数据类型,和第一步里的温度、密度列保持一致。
第三步:多条件合并匹配数据
- 在Power Query编辑器里,确保你已经加载了上面两份查询(文件夹数据和观测数据)。
- 选中观测数据的查询,点击
Home > Merge Queries > Merge Queries as New。 - 在合并对话框里:
- 第一表选你的观测数据,依次选中
Observed Temperature和Observed Density列; - 第二表选你从文件夹加载的温密数据,依次选中
temperature和density列; - 合并类型选择Left Outer(这样会保留观测数据的所有行,匹配到的就显示对应内容);
- 点击确定,然后展开合并后的列,就能看到匹配到的对应数据啦。
- 第一表选你的观测数据,依次选中
额外小贴士
- 如果文件夹里的工作簿有重复的温密组合,你可以先对文件夹数据做去重:选中
temperature和density列,点击Home > Remove Rows > Remove Duplicates,避免匹配出多行重复结果。 - 如果匹配时出现空值,检查一下两边的数值是否完全一致(比如有没有小数位数差异),可以用
Round函数统一小数位数,比如:
然后用处理后的列来做匹配。= Table.AddColumn(源, "Round Temperature", each Round([temperature], 1))
内容的提问来源于stack exchange,提问作者SmIqbal
相关产品推荐
相关产品推荐

