Excel数据透视表计算字段 - 参考等式中的其他维度?

时间:2014-09-03 15:04:50

标签: excel pivot

我很难在Excel 2013数据透视表计算字段中找到更多有用的文档。

我的数据透视表非常简单。我将'公司'维度作为行(例如'A','B'等),将日历周作为列('1' --> '52')。网格中的值显示基于日期的状态值。例如,对于公司'A',有基于日期的州源行显示在'第6周','第14周'等等。

我要做的是在此数据透视表中注入一个值来替换空值/空值。例如,对于公司'A',第7周到第13周没有值。在这种情况下,我想要注入一个计算字段,该字段查找公司'A'的最后已知值,然后使用该最后知道值。在这种情况下,第7周的计算将检测到该值为空并找到最后一个非空值(第6周)并使用它。等式可能类似于:

derived state = if(State=0, if(previous non null value > 0, previous non  null value,0),0)

但是,我找不到任何解释如何设置使用多维参考的方程式并使用某种形式的滞后或最后已知的值查找函数的文档。

有什么建议吗?

提前致谢!

1 个答案:

答案 0 :(得分:0)

一种解决方法是填写空值。然后使用新数据作为数据透视表的源。以下是一种"复制"您的数据无需修改原始数据。

如果这是从单元格A1开始的源数据:

1           2           3           4           5
1/1/2014    1/8/2014    1/15/2014   1/22/2014   1/29/2014
1/2/2014    1/9/2014    1/16/2014   1/23/2014   1/30/2014
1/3/2014    1/10/2014   1/17/2014       
1/4/2014    1/11/2014   1/18/2014   

在F2单元格中粘贴的这个公式将填写第4周和第5周的空白单元格。

=IF(A2<>"",A2,MAX(OFFSET(A2,0,-1*(A$1-1)):A2)) 

逐步完成公式

  • 检查A2是否为空白
  • 如果它不是空白,请复制A2
  • 中的值
  • 如果为空,请从该行中选择最长(最近)日期
    • 如果周列按时间顺序排列
    • ,则max应足以获取最后一个非空值