我创建了一个定期(月度)查询工具。每个月,列的名称都会更改。我希望用户能够在第一张工作表的单元格中键入值,并将该值驱动为表格中列的标题。
思想1:
修改以下代码:
#"Renamed Columns1" = Table.RenameColumns(#"Multiplied Column7",{{"Month1;BDG", "AAA"}})
取代" AAA"通过"重命名"直接调用另一张纸上的特定单元格步。这可能吗?
思想2: 通过执行以下操作将更改作为列数据进行管理: 1.使用"使用标题作为第一行"降级当前列标题。 2.如果值="列7和#34;写一个IF语句。然后"另一张纸上的单元格值#34;否[Column7]。 3.然后在更改后将顶行提升为列标题。
或者有更简单的方法吗?我的搜索已经枯竭了!
答案 0 :(得分:0)
在Excel中创建一个包含您要使用的列名的表。例如,如果您想要“AAA”,则将其放在工作表中的几个单元格中:
ColumnName
AAA
选择这两个单元格,然后转到插入>表并使其成为一个表。 (选中“我的表有标题”框。)
在“设计”下,您可以根据自己的喜好命名此表,例如“ColNameTable”。
然后在您的代码中,您可以使用
Excel.CurrentWorkbook(){[Name="ColNameTable"]}[Content]{0}[ColumnName]
而不是"AAA"
。即。
#"Renamed Columns1" = Table.RenameColumns(#"Multiplied Column7",{{"Month1;BDG", Excel.CurrentWorkbook(){[Name="ColNameTable"]}[Content]{0}[ColumnName]}})
这将从当前工作簿中提取表ColumnName
中名为ColNameTable
的列的第一行(索引从零开始)的值。
注意:您也可以使用命名范围而不是创建新表。见这里:How can I reference a cell's value in a Power Query