#1   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 1
Default Tricky Formula


Hi,

I have column of monthly investment returns. If the return for a
particular month is less than zero I want to regard the return for that
month as zero but then add the negative value to the return for the next
month that has a positive return. The pattern is random so there could
be any number of negative returns between two months with positive
returns.

Can some boffin please suggest a formula that will enable me to do
this?

Many thanks


--
andrewc
------------------------------------------------------------------------
andrewc's Profile: http://www.excelforum.com/member.php...o&userid=19613
View this thread: http://www.excelforum.com/showthread...hreadid=561034

  #2   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 10,593
Default Tricky Formula

=SUM(IF(E1:E10=0,-E2:E11,E2:E11),E1)

which is an array formula, it should be committed with Ctrl-Shift-Enter, not
just Enter.

--
HTH

Bob Phillips

(replace somewhere in email address with gmail if mailing direct)

"andrewc" wrote in
message ...

Hi,

I have column of monthly investment returns. If the return for a
particular month is less than zero I want to regard the return for that
month as zero but then add the negative value to the return for the next
month that has a positive return. The pattern is random so there could
be any number of negative returns between two months with positive
returns.

Can some boffin please suggest a formula that will enable me to do
this?

Many thanks


--
andrewc
------------------------------------------------------------------------
andrewc's Profile:

http://www.excelforum.com/member.php...o&userid=19613
View this thread: http://www.excelforum.com/showthread...hreadid=561034



  #3   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 1
Default Tricky Formula


Thanks Bob!

I can't adapt your formula for my purpose so I'm either being thick or
didn't explain myself properly:

Column A
-0.22%
-0.80%
2.00%
3.63%
-1.00%
3.00%
5.00%

In cells b2 and b3 I would want a formula to return 0 (I want all
negative numbers in column a to be regarded as 0) while cell b4 would
contain the value 0.98% (ie the sum of a4 and any preceding negative
numbers since the last positive number). And so the series in column b
would continue.

Again, any help would be much appreciated!


--
andrewc
------------------------------------------------------------------------
andrewc's Profile: http://www.excelforum.com/member.php...o&userid=19613
View this thread: http://www.excelforum.com/showthread...hreadid=561034

  #4   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 26
Default Tricky Formula

Hi,

This is maybe not a good formula but it works.
Write it in b4, and drag it down.

=IF(A4<0;0;A4+IF(A3<0;IF(A2<0;A3+A2;A3)))

This will only cover 2 "bad" days in row.
You can make it cover more negative days if you want.

Best regards
Petter Bøhler

andrewc skrev:


Thanks Bob!

I can't adapt your formula for my purpose so I'm either being thick or
didn't explain myself properly:

Column A
-0.22%
-0.80%
2.00%
3.63%
-1.00%
3.00%
5.00%

In cells b2 and b3 I would want a formula to return 0 (I want all
negative numbers in column a to be regarded as 0) while cell b4 would
contain the value 0.98% (ie the sum of a4 and any preceding negative
numbers since the last positive number). And so the series in column b
would continue.

Again, any help would be much appreciated!


--
andrewc
------------------------------------------------------------------------
andrewc's Profile: http://www.excelforum.com/member.php...o&userid=19613
View this thread: http://www.excelforum.com/showthread...hreadid=561034


  #5   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 10,593
Default Tricky Formula

Put this in B1

=IF(A1<0,0,A1)

Then in B2, add

=IF(A2<0,0,SUM(INDEX($A$1:A2,MAX(IF($A$1:A10,ROW( $A$1:A1)))+1):A2))

which is an array formula, it should be committed with Ctrl-Shift-Enter, not
just Enter.

and copy B2 down.

--
HTH

Bob Phillips

(replace somewhere in email address with gmail if mailing direct)

"andrewc" wrote in
message ...

Thanks Bob!

I can't adapt your formula for my purpose so I'm either being thick or
didn't explain myself properly:

Column A
-0.22%
-0.80%
2.00%
3.63%
-1.00%
3.00%
5.00%

In cells b2 and b3 I would want a formula to return 0 (I want all
negative numbers in column a to be regarded as 0) while cell b4 would
contain the value 0.98% (ie the sum of a4 and any preceding negative
numbers since the last positive number). And so the series in column b
would continue.

Again, any help would be much appreciated!


--
andrewc
------------------------------------------------------------------------
andrewc's Profile:

http://www.excelforum.com/member.php...o&userid=19613
View this thread: http://www.excelforum.com/showthread...hreadid=561034





  #6   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 26
Default Tricky Formula

Bob,

That did the work. Much better then mine. :-)

Bob Phillips skrev:

Put this in B1

=IF(A1<0,0,A1)

Then in B2, add

=IF(A2<0,0,SUM(INDEX($A$1:A2,MAX(IF($A$1:A10,ROW( $A$1:A1)))+1):A2))

which is an array formula, it should be committed with Ctrl-Shift-Enter, not
just Enter.

and copy B2 down.

--
HTH

Bob Phillips

(replace somewhere in email address with gmail if mailing direct)

"andrewc" wrote in
message ...

Thanks Bob!

I can't adapt your formula for my purpose so I'm either being thick or
didn't explain myself properly:

Column A
-0.22%
-0.80%
2.00%
3.63%
-1.00%
3.00%
5.00%

In cells b2 and b3 I would want a formula to return 0 (I want all
negative numbers in column a to be regarded as 0) while cell b4 would
contain the value 0.98% (ie the sum of a4 and any preceding negative
numbers since the last positive number). And so the series in column b
would continue.

Again, any help would be much appreciated!


--
andrewc
------------------------------------------------------------------------
andrewc's Profile:

http://www.excelforum.com/member.php...o&userid=19613
View this thread: http://www.excelforum.com/showthread...hreadid=561034




  #7   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 44
Default Tricky Formula

Wow that was complicated

put in B1

=IF(A1<0,0,SUM($A$1:A1))
and drag this formula down...


"Fingerjob" wrote:

Bob,

That did the work. Much better then mine. :-)

Bob Phillips skrev:

Put this in B1

=IF(A1<0,0,A1)

Then in B2, add

=IF(A2<0,0,SUM(INDEX($A$1:A2,MAX(IF($A$1:A10,ROW( $A$1:A1)))+1):A2))

which is an array formula, it should be committed with Ctrl-Shift-Enter, not
just Enter.

and copy B2 down.

--
HTH

Bob Phillips

(replace somewhere in email address with gmail if mailing direct)

"andrewc" wrote in
message ...

Thanks Bob!

I can't adapt your formula for my purpose so I'm either being thick or
didn't explain myself properly:

Column A
-0.22%
-0.80%
2.00%
3.63%
-1.00%
3.00%
5.00%

In cells b2 and b3 I would want a formula to return 0 (I want all
negative numbers in column a to be regarded as 0) while cell b4 would
contain the value 0.98% (ie the sum of a4 and any preceding negative
numbers since the last positive number). And so the series in column b
would continue.

Again, any help would be much appreciated!


--
andrewc
------------------------------------------------------------------------
andrewc's Profile:

http://www.excelforum.com/member.php...o&userid=19613
View this thread: http://www.excelforum.com/showthread...hreadid=561034




  #8   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 1
Default Tricky Formula


Thank you all for your help!


--
andrewc
------------------------------------------------------------------------
andrewc's Profile: http://www.excelforum.com/member.php...o&userid=19613
View this thread: http://www.excelforum.com/showthread...hreadid=561034

  #9   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 10,593
Default Tricky Formula

Except that doesn't do what was asked by the OP. He said that he wanted the
sum ... between two months with positive returns ...

In other words, when a positive number is met, it adds all amounts after the
previous positive. Yours just adds irrespective.

--
HTH

Bob Phillips

(replace somewhere in email address with gmail if mailing direct)

"Danny Lewis" wrote in message
...
Wow that was complicated

put in B1

=IF(A1<0,0,SUM($A$1:A1))
and drag this formula down...


"Fingerjob" wrote:

Bob,

That did the work. Much better then mine. :-)

Bob Phillips skrev:

Put this in B1

=IF(A1<0,0,A1)

Then in B2, add

=IF(A2<0,0,SUM(INDEX($A$1:A2,MAX(IF($A$1:A10,ROW( $A$1:A1)))+1):A2))

which is an array formula, it should be committed with

Ctrl-Shift-Enter, not
just Enter.

and copy B2 down.

--
HTH

Bob Phillips

(replace somewhere in email address with gmail if mailing direct)

"andrewc" wrote

in
message ...

Thanks Bob!

I can't adapt your formula for my purpose so I'm either being thick

or
didn't explain myself properly:

Column A
-0.22%
-0.80%
2.00%
3.63%
-1.00%
3.00%
5.00%

In cells b2 and b3 I would want a formula to return 0 (I want all
negative numbers in column a to be regarded as 0) while cell b4

would
contain the value 0.98% (ie the sum of a4 and any preceding negative
numbers since the last positive number). And so the series in column

b
would continue.

Again, any help would be much appreciated!


--
andrewc

------------------------------------------------------------------------
andrewc's Profile:
http://www.excelforum.com/member.php...o&userid=19613
View this thread:

http://www.excelforum.com/showthread...hreadid=561034






  #10   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 136
Default Tricky Formula

Hi Andrew,

If your desired output for this input:
-1%
-1%
1%
-2%
-2%
6%
-1%
-1%
7%
would be:
0%
0%
0%
0%
0%
1%
0%
0%
5%
then enter into cells B1:C2 (normal, NOT array-entered):
=MIN(0,A1) =MAX(0,A1)
=MIN(0,A2+B1) =MAX(0,A2+B1)
and copy B2:C2 down as far as necessary.

HTH,
Bernd



  #11   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 26
Default Tricky Formula

The best formula would be this one:

=IF(A2<=0;0;MAX(0;SUM($A$1:A2)-SUM(B$1:$B1)))

Put it in B2 and drag it down.

skrev:

Hi Andrew,

If your desired output for this input:
-1%
-1%
1%
-2%
-2%
6%
-1%
-1%
7%
would be:
0%
0%
0%
0%
0%
1%
0%
0%
5%
then enter into cells B1:C2 (normal, NOT array-entered):
=MIN(0,A1) =MAX(0,A1)
=MIN(0,A2+B1) =MAX(0,A2+B1)
and copy B2:C2 down as far as necessary.

HTH,
Bernd


  #12   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 136
Default Tricky Formula

Hello Fingerjob,

Sorry but I cannot agree he

1. Can we be sure that the OP wanted what we produced?

2. If yes: Which approach does the OP understand (better)?

3. Ok, your formula does not use a helper column but: It takes about
250 times more calculation time than my two formulas (tested with
FastExcel on 10,000 rows). In these cases I like to call the slower
approach a "runtime crime" :-)

SCNR,
Bernd

  #13   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 26
Default Tricky Formula

Hei again,

1. Pretty sure. :-). Any other way will not make any sense.
2. Impossible to say.
3. Agree with you, if you base the case that he would run this formula over
that many rows.

But i am sure that is not the case here. :-)

Best regards
Petter Bøhler

skrev:

Hello Fingerjob,

Sorry but I cannot agree he

1. Can we be sure that the OP wanted what we produced?

2. If yes: Which approach does the OP understand (better)?

3. Ok, your formula does not use a helper column but: It takes about
250 times more calculation time than my two formulas (tested with
FastExcel on 10,000 rows). In these cases I like to call the slower
approach a "runtime crime" :-)

SCNR,
Bernd


  #15   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 136
Default Tricky Formula

God dag Petter,

You are right: Speed does not seem to be the issue here.

But our formulas are different from all others' (including Bob's). So
let AndrewC decide which one he prefers to use.

Ha det,
Bernd



Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
assign formula to another cell Dannycol Excel Worksheet Functions 3 May 12th 06 09:46 PM
Tricky formula Steve Excel Discussion (Misc queries) 3 April 17th 06 05:06 PM
"Unable to set the Formula property of the Series class" with a tw PeterQ Charts and Charting in Excel 1 February 15th 06 07:37 PM
Tricky Formula Codes *** Urgent *** SweetSin80 Excel Discussion (Misc queries) 3 February 14th 06 01:36 AM
Date stamp formula results? Tricky problem? mjp Excel Discussion (Misc queries) 0 November 18th 05 04:11 PM


All times are GMT +1. The time now is 05:01 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"