1

我有一个时间序列的数据表,(按行交易,按列日期,从 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

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

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

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

4

1 回答 1

0

将 L1 和 M1 作为范围所需的边界,一个公式是可能的(但它确实失控了 - 希望会出现更简单的东西!):

=IFERROR(SUMPRODUCT((IF(间接(CHAR(64+MATCH(M$1,$A$1:$E$1,0)))&"2:"&CHAR(64+MATCH(M$1,$A$1:$E) $1,0))&"5")-间接(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+比赛(L$1,$A$1:$E$1,0))&"5")))),"")

在 M2 中并复制到 M5。

于 2013-10-08T17:07:38.743 回答