我有一个时间序列的数据表,(按行,逐列,从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))))
一旦我尝试将任何类型的日期变量应用于所选范围,它就会崩溃。我尝试使用几个不同的运算符来允许变量单元格选择日期,但是一旦我能够接受公式,它就会回到净值。
答案 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。