Excel之PowerQuery 字段名使用字符串代替
网友问题:

放大图片




回答网友问题:
我没遇到过这样的问题,没研究过,但是我有办法解决,只是我的方法不一定好,有好方法的小伙伴可以共享出来。
筛选指定列,比如 提成金额 这列,不能写成:[提成金额] 要用 "提成金额" 代替
1、导入数据(此步骤略)
2、完成(要是需要逐步思考)
【1】添加列,如下图,下划线代替判断列每行的Record

【2】使用Record.ToList把记录的值转列表,如下图所示,红框内的代码代表判断列每行的List

【3】我们手工的取下标2,得到【提成金额】那列的值,而且没有提到提成金额

【4】现在我们对上表进行筛选,筛选条件是判断列不等于0 即可
红框里是上面那张表,我们使用Table.SelectRows进行筛选

【5】删除判断
红框里是上面判断后的那张表,我们使用Table.RemoveColumns删除判断列

最终代码如下:
= Table.RemoveColumns( Table.SelectRows( Table.AddColumn(更改的类型,"判断", each Record.ToList(_){2}) ,each [判断]<>0) ,"判断")
完成了,但是我们之前把 {2} 写成固定了。现在改成动态
提问网友还有一张表如下

我们可以先取刚才那张表所有的表头,会形成一个列表

然后我们通过List.PositionOf查找需要信息那样表,【需要信息】这个字段,0号下标的文字,在我之前那个表头列表中的下标位置
代码如下
= List.PositionOf(Table.ColumnNames(更改的类型), 需要信息[需要信息]{0})

好了,现在你将这成代码放到 {2} 中,替换2
形成最终代码:

本文章配套课件已经发到评论区,有更简便方法的朋友可以发到评论区,帮网友排忧解难

PowerQuery合集:https://www.bilibili.com/video/BV1oa4y1j75e/