+ Reply to Thread
Results 1 to 6 of 6

calculating return in a range

  1. #1
    Registered User
    Join Date
    12-01-2003
    Posts
    21

    calculating return in a range

    Hi,
    I have a range of stock prices. with indication for buy or sell. and i want a function to calculate the return of the range for example :

    buy 522.73
    buy 527.9
    buy 528.81
    buy 532.33
    buy 535.1
    buy 536.23
    buy 537.03
    buy 538.57
    sell 537.54
    sell 532.86
    sell 538.14
    sell 533.08
    buy 531.22

    I want to calculate the return for the first buy signal. the range is from the start to the first sell signal 537.54- 522.73
    then the sell range untill the first buy signal 531.22- 537.54

  2. #2
    Don Guillett
    Guest

    Re: calculating return in a range

    play around with MATCH and OFFSET to get your desired result.
    =OFFSET(I1,MATCH("sell",I2:I22,0),1)-OFFSET(I1,MATCH("buy",I2:I22,0),1)
    This gives 14.81

    You can use the same idea for the next one.
    You could also use match within an INDEX formula
    --
    Don Guillett
    SalesAid Software
    [email protected]
    "kman" <[email protected]> wrote in message
    news:[email protected]...
    >
    > Hi,
    > I have a range of stock prices. with indication for buy or sell. and i
    > want a function to calculate the return of the range for example :
    >
    > buy 522.73
    > buy 527.9
    > buy 528.81
    > buy 532.33
    > buy 535.1
    > buy 536.23
    > buy 537.03
    > buy 538.57
    > sell 537.54
    > sell 532.86
    > sell 538.14
    > sell 533.08
    > buy 531.22
    >
    > I want to calculate the return for the first buy signal. the range is
    > from the start to the first sell signal 537.54- 522.73
    > then the sell range untill the first buy signal 531.22- 537.54
    >
    >
    > --
    > kman
    > ------------------------------------------------------------------------
    > kman's Profile:
    > http://www.excelforum.com/member.php...fo&userid=3337
    > View this thread: http://www.excelforum.com/showthread...hreadid=495931
    >




  3. #3
    Registered User
    Join Date
    12-01-2003
    Posts
    21

    thnx for the fast replay but...

    If I understand correctly I should do it manualy the first range, the second range ... I am looking fo a function that will do it automaticly

  4. #4
    Don Guillett
    Guest

    Re: calculating return in a range

    Is this automatic enough?
    Merry Xmas

    Sub buysell()
    x = Range("i2:i22").Find("buy").Address
    y = Range("i2:i22").Find("sell").Address
    z = Range(y & ":i22").Find("buy").Address
    aa = Format(Range(y).Offset(, 1) - _
    Range(x).Offset(, 1), "$#.00")
    MsgBox aa
    bb = Format(Range(z).Offset(, 1) - _
    Range(y).Offset(, 1), "$#.00")
    MsgBox bb
    End Sub

    --
    Don Guillett
    SalesAid Software
    [email protected]
    "kman" <[email protected]> wrote in message
    news:[email protected]...
    >
    > If I understand correctly I should do it manualy the first range, the
    > second range ... I am looking fo a function that will do it automaticly
    >
    >
    > --
    > kman
    > ------------------------------------------------------------------------
    > kman's Profile:
    > http://www.excelforum.com/member.php...fo&userid=3337
    > View this thread: http://www.excelforum.com/showthread...hreadid=495931
    >




  5. #5
    Max
    Guest

    Re: calculating return in a range

    > ... I am looking for a function that will do it automatically

    Another play to try ..

    A sample construct is available at:
    http://www.savefile.com/files/9864468
    Calculating return in a range_kman_wks.xls

    Assuming the data as posted is in cols A and B, row1 down
    Put in C1: =IF(A1="","",COUNTIF($A$1:A1,A1))
    Put in C2: =IF(A2="","",IF(A2=A1,"",COUNTIF($A$1:A2,A2)))

    Put in D1: =IF(C1="","",A1)
    Copy D1 down to D2

    Put in E2, array-enter the formula (i.e. press CTRL+SHIFT+ENTER):
    =IF(A2="","",IF(A2=A1,"",B2-INDEX(B:B,MATCH(1,($C$1:C2=MAX(IF($D$1:D2=A1,$C$
    1:C2)))*($A$1:A2=A1),0))))

    Select C2:E2, copy down as far as required
    Col E should return the desired results
    --
    Rgds
    Max
    xl 97
    ---
    Singapore, GMT+8
    xdemechanik
    http://savefile.com/projects/236895
    --



  6. #6
    Max
    Guest

    Re: calculating return in a range

    > Put in C1: =IF(A1="","",COUNTIF($A$1:A1,A1))
    Formula above is a little superfluous (clean-up overlooked earlier, sorry)
    Simply put in C1: =IF(A1="","",1)
    --
    Rgds
    Max
    xl 97
    ---
    Singapore, GMT+8
    xdemechanik
    http://savefile.com/projects/236895
    --



+ Reply to Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Search Engine Friendly URLs by vBSEO 3.6.0 RC 1