Excel之PowerQuery 在每行下面插入计算行
网友提问:

图片放大


个人想法:
我是孙兴华,最后一个字是华,不是坦,也不是罗,我没有办法用一句话讲清楚每件事,除非我的教程中有原例。我会回复请看我的某某课程。
1、导入数据到Powerquery

2、添加一步,在每行下面插入一个统一行
在M函数第三季如下图这节课我们学过相关方法

结果:

3、我们将上面公式中的记录拿出来,拼出自己所需要的

= Record.FromList({1,2,3},{"a","b","c"})
我们只需要计算{1,2,3} ,表头取更改类型那张表的表头就可以了

完整代码如下:
结果图:你再将E列删除就好了。

但是它不是动态的,我认为,动态不动态看你需求。一次性的工作写到这里就行了。如果我是写一个软件长期使用,那可以再往下研究。
4、分别思考
(1)Table.Column(表名,字段名)
返回:指定表指定列,以列表形式返回

如果我取第一行就可以这样写

(2)我们可以取到更改类型那张表所有的表头

(3)遍历表头这张列表,让每个列的指定行与最后一列的指定行进行计算,如果错误就返回null(因为姓名除以数值返回错误)
= List.Transform(Table.ColumnNames(更改的类型),each try Number.RoundUp(Table.Column(更改的类型,_){0}/Table.Column(更改的类型,List.Last(Table.ColumnNames(更改的类型))){0}) otherwise null)
返回结果:

现在我们是用{0}把行写固定了,上面我们用{y-1}代表行数
现在我们把这句话写进我们之前的非动态公式中,替换他的固定写法
完整代码:
返回结果:再删除你不要的列


本文章配套课件发评论区置顶了。需求不变,你做不出来,就自行核对一下看哪做错了。需求有变时,请重新提问。

