如何在PowerQuery中基于指定单元格值新建填充统一内容的列
PowerQuery 提取特定单元格值填充整列操作指南
参考操作场景示例图:
方法1:纯界面操作(适合新手,无需编写代码)
如果右侧未显示查询设置面板,先点击顶部「视图」选项卡,勾选「查询设置」调出面板。
- 第一步:提取考试名称变量
右键点击「应用步骤」列表里你当前操作的上一步(如刚导入表后一般是「更改的类型」步骤),选择「插入步骤」。在公式栏输入= 你的查询名称{0}[Column1],将你的查询名称替换为左侧查询列表里当前表的名称,按回车即可得到Column1第一行的考试名称值,右键点击该步骤将其重命名为考试名称。 - 第二步:回到完整表视图
点击「应用步骤」列表里的最后一步,回到原始数据的完整表界面。 - 第三步:添加自定义列
点击顶部「添加列」选项卡,选择「自定义列」。 - 第四步:设置自定义列参数
- 新列名输入
Exam-Name - 自定义列公式输入
= 考试名称 - 点击「确定」,新列所有行将自动填充提取到的考试名称。
- 新列名输入
- 第五步(可选):替换原有旧值列
选中存储旧内容(如KE21a...)的列,右键删除,再将新建的Exam-Name列拖动到原有列的位置即可。
方法2:M代码快速实现
- 点击顶部「主页」选项卡,选择「高级编辑器」。
- 在现有代码的基础上,修改末尾部分,添加提取变量和新增列的逻辑,示例完整代码结构如下:
let 源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content], 更改的类型 = Table.TransformColumnTypes(源,{{"Column1", type text}, {"Column2", type text}}), // 新增以下两行,注意替换上一步的步骤名 考试名称 = 更改的类型{0}[Column1], 添加考试名称列 = Table.AddColumn(更改的类型, "Exam-Name", each 考试名称) in 添加考试名称列
- 修改完成后点击「确定」即可生效。
注意事项
- PowerQuery的行索引从0开始计数,因此要取第一行的内容就使用
{0}作为行标识。 - 后续如果Column1第一行的考试名称更新,整个Exam-Name列的内容会自动同步刷新,无需重复操作。
内容的提问来源于stack exchange,提问作者Miguel Diez
相关产品推荐
相关产品推荐

