一个列中多行求和_PowerQuery中如何实现多行求和?

7ff67e8446c458fa69f7d4b53a10c3a7.png

bc8ac181e506e19a588bb1b9bb72408c.png

在使用PowerQuery处理数据的过程中,有时我们需要对行值进行求和计算。比如下图的数据表,除年份外其他每列是不同的费用类型,我们需要基于此表计算出不同年份的营运费用及总费用,如何实现呢?

c52ad261d9ee04bda74a7f33774b9ee8.png

关于营运费用(市场费用、销售费用及营业费用)的计算实现,我们可以采用下列两种方法。第一种,点击创建自定义列,在公式栏输入List.Sum函数及三个计算列名即可,计算公式和结果如下图。

65c3d864a3fe62ed1d911950071ebc66.png

f7c66cd4d01393372a4ff174ce6a597a.png

第二种,点击创建自定义列,在公式栏输入下图中的公式,我们会用到List.Sum、Record.ToList及Record.SelectFields等三个函数的嵌套。Record.SelectFields函数获取计算列的值,Record.ToList函数将值转化为list,后由List.Sum函数进行求和。

f925e05a4aa49c06066f51ce0606a8fa.png

18056e3b8d3ed0ab3a52f9053b8386f7.png

第一种方法简单直白,简单数据建议使用这种方法,但采用此法如若出现错误不易查找原因。第二种方法首先通过Record.ToList函数和Record.Selected函数创建新的list列(如下图),之后用List.Sum函数对list列进行求和计算,计算list列的过程可以检查list值是否准确,在数据比较复杂的情况下推荐使用这种方法。

bea40e4308968dab8f5664ac81ea844c.png

接下来需要计算总费用,首先我们可以采用前两者的方法,将列名一一输入到公式中便可以计算出来求和值。但时如果我们遇到比较多的列需要计算的话,上述方法会显得非常繁琐,而且比较容易出错。所以这里我们用到第三种方法,具体实现步骤可分为三个步骤。第一步:复制一张数据表,将新表中非计算列删除。

65824aec62cd66220977deac6d4fd8d2.png

a948902f64faf7db5cf8dc215954e97c.png

第二步,创建自定义列并输入下图中的公式。公式中Record.ToList函数括号内下划线代表所有列值,确认之后将自动计算所有行的求和值即总费用。

d329dde21492d8d6a1891d9b8e3c9118.png

4a192b989efb09c330780c418b31bd30.png

第三步,在原表中选择合并查询,将计算的总费用列合并到原表中。合并查询过程我们需要选择一个相同的列,并选择合适的联接种类,具体操作步骤如下图。

5f4f1a63c469b42c10978b5b6aa324b1.png

61c188b8b5d11910c4a4fde67c2c427b.png

4c2b498170868d1b1b1d58f41e6faf38.png


最后,只需将查询列中的总费用列勾选展开即可添加到原表中,这样我们就轻松实现了部分费用列和全部费用列的求和计算。怎么样,你学会了吗?如需获取案例数据,请至公众号回复暗号【多行求和】下载即可。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值