使用Power Query/M处理含重复行标题表格的数据提取策略咨询
Power Query处理含重复行标题多板块报表的通用解决方案
这类存在重复区域行标题、分属不同业务板块的不规则Excel报表,有成熟的处理逻辑,核心思路是先标记每行所属的上层板块,再做常规数据清洗,具体操作步骤如下:
- 第一步:导入原始表时保留所有行,不提前删除空行/表头行
导入Excel数据时直接加载整张工作表内容,不做自动提升表头、删除空行的操作,保证板块标题行的完整性。 - 第二步:新增板块归属标记列
新增自定义列,通过板块标题的特征(通常为整行仅第一列有文本值、其余列全为空)判断当前行是否为板块标题,将板块名称提取后向下填充到所有对应行,示例M代码如下:
如果板块标题固定,也可以直接预设关键字列表匹配,逻辑更稳定:// 新增板块标记列 AddPlateMark = Table.AddColumn(源, "所属板块", each if [Column2] = null and [Column1] <> null then [Column1] else null), // 向下填充板块名称 FillPlateName = Table.FillDown(AddPlateMark,{"所属板块"})= if List.Contains({"全球需求表","非欧佩克液体产量"}, [Column1]) then [Column1] else null - 第三步:清洗无效行,规范表结构
筛选掉板块标题行、无关空行,再将剩余数据的首行提升为表头,转换对应列的数据类型即可,此时原本重复的美洲、欧洲、亚太等行,会因为「所属板块」列的不同实现区分,得到规整的一维表结构。
如果你的表格存在更复杂的多层级嵌套表头,可以在标记完上层板块后,重复上述逻辑标记子层级标题,即可实现全层级的归属区分。
内容的提问来源于stack exchange,提问作者J Doe
相关产品推荐
相关产品推荐

