逐行方差的变换,日期为字符串

时间:2013-10-08 16:10:29

标签: arrays excel multidimensional-array excel-formula excel-indirect

我有一个时间序列的数据表,(按行,逐列,从A1开始):

>Series    9/30/12   10/31/12   11/30/12   12/31/12
 Deal 1     750.0      750.0      750.0      750.0
 Deal 2     300.0      150.0      300.0      300.0
 Deal 3     500.0      500.0      600.0      500.0
 Deal 4     340.0      500.0      250.0      340.0
 Total     1890.0     1900.0     1900.0     1890.0

我想将两列中每行之间的方差相加,使用日期作为变量,并且仅当方差为正时。真正的诀窍是我不想通过交易来增加和减少价值。我能够通过指定我想要使用的两列来使其工作,导致160从10/31到9/30的交易4增加(它忽略了交易2从10/31到9的150减少/ 30)

  

= SUMPRODUCT((IF((C2:C5) - (B2:B5)大于0,(C2:C5) - (B2:B5))))

一旦我尝试将任何类型的日期变量应用于所选范围,它就会崩溃。我尝试使用几个不同的运算符来允许变量单元格选择日期,但是一旦我能够接受公式,它就会回到净值。

1 个答案:

答案 0 :(得分:0)

将L1和M1作为范围的必要边界,可以使用公式(但它确实失控了 - 希望更简单的事情会出现!):

= IFERROR(SUMPRODUCT((IF(INDIRECT(CHAR(64 + MATCH(M $ 1,$ A $ 1:$ E $ 1,0))及 “2:” &安培; CHAR(64 + MATCH(M $ 1, $ A $ 1:$ E $ 1,0))及 “5”) - INDIRECT(CHAR(64 + MATCH(L $ 1,$ A $ 1:$ E $ 1,0))及 “2:” &安培; CHAR( 64 + MATCH(L $ 1,$ A $ 1:$ E $ 1,0))及 “5”)大于0,INDIRECT(CHAR(64 + MATCH(M $ 1,$ A $ 1:$ E $ 1,0)) &安培; “2:” &安培; CHAR(64 + MATCH(M $ 1,$ A $ 1:$ E $ 1,0))及 “5”) - INDIRECT(CHAR(64 + MATCH(L $ 1,$ A $ 1: $ E $ 1,0))&“2:”& CHAR(64 + MATCH(L $ 1,$ A $ 1:$ E $ 1,0))&“5”)))),“”)

在M2中

并向下复制到M5。