(一) 通过添加列计算移动平均
表1

前提条件要点:日期列连续不中断
要求:计算5日平均值
1. 解题思路
- 计算5日平均值则只有在日期大于5日以后的,才会有5日均线
- 筛选出当前日期往上倒推5日的表,并计算金额的平均值
2. 函数思路
A. 计算均值的起始日期
因为日期是连续的,所以起始日应该是当天往前推第5天
'表1'[日期]>=Earlier('表1'[日期])-5)
B. 计算均值的结束日期
结束日期应该就是当前日期,这里会涉及到Earlier函数
'表1'[日期]
C. 计算最早可达到条件的日期
我们要计算5日均线,那就必须要有5日的数据才可以用于计算
Calculate(LastnonBlank('表1'[日期],1),TopN(5,'表1'))
先筛选出最前的5行,然后取最后一天的日期。
3. 函数合并
既然3个条件都有了,那我们就可以直接写成公式:
if('表1'[日期]>Calculate(LastnonBlank('表1'[日期],1), TopN(5,'表1')), //判断是否满足最小计算数量要求 Averagex(Filter('表1','表1'[日期]=Earlier('表1'[日期])-5), '表1'[金额] ), Blank() )
目标结果:

如果觉得有帮助,那麻烦您进行转发,让更多的人能够提高自身的工作效率。
版权声明:本文为weixin_35662417原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。