(http://stackoverflow.com/questions/5283466/calculate-moving-average-in-excel似乎有点相关。我很想知道非vba的方法。)
我的数据透视表中有源数据,可以计算过去36天内某人的销售量。每天在数据透视表中使用os 1列,并且人员名称在行上。
其中一些人在第1天,第2天等没有销售,可能只有3天他们在14,15和16天卖东西。不管他们的顺序是什么,我想找到最新的销售数据(最靠近数据透视表的右边缘)并计算三次销售增长,例如如果他们在C20的任何一天有更多的销售额,C20 / C19将> 1。通过减去1并改变为百分比来增加。问题是,如果一个人只在d10,d11,d12上有销售,那么我如何在Excel中设置一般公式来说“寻找最近的连续销售,然后计算这个比率”?对于过去三天有销售的人来说,这很容易。硬编码在哪里寻找每个销售价值将是混乱的。
d1 d2 d3 d4...d7 d8 d9...d34 d35 d36 mostrecentincrease nextrecent
ant 1 5 7 7/5=1.4 5/1=5
bat ...10 11 12... 12/11=1.blah 11/10=1.1
cat 2 6 9 13
dog 19 20 20/19=1.blah 19/blank=0
elf 4 4/dnexist=0
答案 0 :(得分:0)
我没有excel,但我希望这会引导您找到正确的结果(如果这是您的列表分隔符,请使用,
代替;
:
=max(if(sales<>0;column(sales)))
=max(if((sales<>0)*(column(sales)<>position_1);column(sales)))
=max(if((sales<>0)*(column(sales)<>position_1)*(column(sales)<>position_2);column(sales)))
=index(sales;position_1)
=iferror(...;0)
)等......