如何使用文本函数或查找替换批量重命名表格列?
Power Query批量重命名列:用文本函数/替换批量修改表头
解决这个问题的核心是用Table.TransformColumnNames()函数——它不需要你预先指定所有新列名,而是直接对每一列的名称应用自定义文本转换逻辑,完美适配你的需求。
以下是几种常用场景的示例:
1. 快速转换列名格式
直接用Text.Upper()、Text.Proper()这类文本函数批量修改:
- 所有列名转大写:
Table.TransformColumnNames(源, each Text.Upper(_))
- 所有列名转首字母大写(其余小写):
Table.TransformColumnNames(源, each Text.Proper(_))
注:代码里的_代表当前处理的列名,直接把文本函数套进去即可。
2. 批量替换列名中的字符
用Text.Replace()实现全局替换,比如把列名里的下划线换成空格:
Table.TransformColumnNames(源, each Text.Replace(_, "_", " "))
还可以组合多个文本函数,比如先替换下划线,再转首字母大写:
Table.TransformColumnNames(源, each Text.Proper(Text.Replace(_, "_", " ")))
3. 自定义复杂规则
如果需要针对特定列做修改(比如加前缀/后缀、只修改包含关键词的列),可以写条件逻辑:
Table.TransformColumnNames(源, each if Text.Contains(_, "Sales") then "业绩_" & _ else _)
这段代码会给所有包含"Sales"的列名添加前缀"业绩_",其他列名保持不变。
操作步骤
- 打开Power Query编辑器,进入「高级编辑器」
- 找到你要修改的表格步骤(通常是
源),把上述代码替换或追加到步骤中,注意将代码里的源替换为你实际的表格变量名。
内容的提问来源于stack exchange,提问作者chrimaho
相关产品推荐
相关产品推荐

