rodynetwork
asked on
excel calculation
Is there a simple formula for figuring this out, the sum of the rows? See below for further explanation:
A B C D
S 825.2 1 3/1/2011 14:34
B 824.8 1 3/1/2011 14:35
B 821.2 1 3/1/2011 14:41
S 821.1 1 3/1/2011 14:41
The above columns show trading contracts.
Column A is S or B, meaning short or long. An S contract is a negative amount and a B contract is a positive amount.
Column B is the contract value.
Column C is the quantity of contracts traded
Column D is the date and doesn't matter for this calculation.
If the formula is working correctly, I would be able to select rows 1 and 2 and apply the formula and get a sum of 4 in Column E
A B C D
S 825.2 1 3/1/2011 14:34
B 824.8 1 3/1/2011 14:35
B 821.2 1 3/1/2011 14:41
S 821.1 1 3/1/2011 14:41
The above columns show trading contracts.
Column A is S or B, meaning short or long. An S contract is a negative amount and a B contract is a positive amount.
Column B is the contract value.
Column C is the quantity of contracts traded
Column D is the date and doesn't matter for this calculation.
If the formula is working correctly, I would be able to select rows 1 and 2 and apply the formula and get a sum of 4 in Column E
Do you mean -4?
=10*(SUMIF($A$1:$A$2,"S",$ B$1:$B$2)* -1+SUMIF($ A$1:$A$2," B",$B$1:$B $2))
=10*(SUMIF($A$1:$A$2,"S",$
But this doesn't take quantity into account.
So this might be better?
=10*(-1*SUMPRODUCT((A1:A2= "S")*(B1:B 2)*(C1:C2) )+SUMPRODU CT((A1:A2= "B")*(B1:B 2)*(C1:C2) ))
=10*(-1*SUMPRODUCT((A1:A2=
Try
=SUMPRODUCT((A1:A2={"S","B "})*{-1,1} *C1:C2*B1: B2)*10
regards, barry
=SUMPRODUCT((A1:A2={"S","B
regards, barry
Very neat Barry, I wouldn't have come up with that in a month of Sundays.
ASKER
I am sorry. The way I explained it is confusing. The short means I sold a contract whose value was 825.2 and later I bought a contract at 824.8, liquidating my position and giving me a net gain of .4 or 4. The way I illustrated it earlier was not correct.
Next thing, I am pretty excel ignorant, so how do I apply the formulat? I copy/pasted it into E, row 2 and get a -4, but am finding that any row I paste it, it gives the same answer, so I am assuming I am applying the formula incorrectly. Do I need to insert it somewhere? I am using MS Office 2007.
Next thing, I am pretty excel ignorant, so how do I apply the formulat? I copy/pasted it into E, row 2 and get a -4, but am finding that any row I paste it, it gives the same answer, so I am assuming I am applying the formula incorrectly. Do I need to insert it somewhere? I am using MS Office 2007.
ASKER
Sorry, another consideration, I have 64 rows to apply this to for today. Tomorrow may be more or less rows....
If you want to copy the formula down so that it applies to all rows above try like this in row 2 copied down
=SUMPRODUCT((A$1:A2={"S"," B"})*{1,-1 }*C$1:C2*B $1:B2)*10
regards, barry
=SUMPRODUCT((A$1:A2={"S","
regards, barry
ASKER
I took a picture of what I am getting. Notice column D info changed, not sure why. Also, notice I am copying/pasting the formula into E2 and then drag/copying down from there.
2011-03-01-1731.png
2011-03-01-1731.png
ASKER
Nevermind that last, now getting this. Think we are closer....
2011-03-01-1736.png
2011-03-01-1736.png
ASKER
I think your formula is working, as row 24 is correct, I was up 30 at that time. Not sure what to make of the number that appears on every odd row in Column E
OK, I hesitate to say this but aren't they the correct values? Presumably the large positive or negative values are unexpected but they just indicate that you have bought without yet selling....or vice versa, perhaps you can only show the value if the number of Bs and Ss are the same (although does that necessarily apply to the same contract?), e.g. formula could be
=IF(SUM(COUNTIF(A$1:A2,{"S ","B"})*{1 ,-1}),SUMP RODUCT((A$ 1:A2={"S", "B"})*{1,- 1}*C$1:C2* B$1:B2)*10 ,"")
regards, barry
=IF(SUM(COUNTIF(A$1:A2,{"S
regards, barry
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
that did it. works perfectly. Thanks.
ASKER