Ooops.. sent it before I was finished by mistake... You can also write your own cell formula. Just write it as a macro, something like:
Function CalculatePoints(Position As Integer) As Integer Select Case Position Case 1 CalculatePoints=10 Case 2 CalculatePoints=8 Case 3 To 8 CalculatePoints=9-Position Case else CalculatePoints=0 End Select End Function Johnny Rosenberg 2007/8/9, Johnny Rosenberg <[EMAIL PROTECTED]>: > > You can also write your own cell formula. Just write it as a macro, > something like: > > Function CalculatePoints(Position As Integer) As Integer > Select Case Position > Case 1 > > > End Function > > 2007/8/9, Nathaniel <[EMAIL PROTECTED]>: > > > > Harold I just tried your LOOKUP idea in a separate sheet and it works a > > treat. > > > > It certainly makes what I thought was a difficult equation into a simple > > task. > > > > Thanks > > -- > > Regards > > > > Nathaniel > > > > http://bytesfromthebackseat.wordpress.com/ > > > > On 8/9/07, Brian Barker <[EMAIL PROTECTED]> wrote: > > > > > > At 15:27 08/08/2007 +0800, Nathaniel Seventy-Three wrote: > > > >Thanks for all the info guys I'm having a look at it now. One problem > > I > > > can > > > >see is I have the drivers listed 1 per row from 1 to 25 and I just > > enter > > > the > > > >finishing position from 1 to 8 in the col for the respective race > > which > > > >leaves the other 17 cells empty. > > > > > > > >Do I need to have zero in these cells or can they be handled as it? > > > > > > No, you don't need to put values in the other cells: if interpreted > > > as numbers, empty cells will be read as zero anyway. > > > > > > But this requires a different exception from the one I'd allowed for, > > > so you need to modify my three suggested formulae to: > > > IF(A1>0;INDEX($P$1:$P$8;A1);0) > > > IF(A1>0;INDEX(Points;A1);0) > > > IF(A1>0;9-A1+INT((9-A1)/7)*MOD(9-A1;6);0) > > > > > > I trust this helps. > > > > > > Brian Barker > > > > > > >On 8/8/07, Brian Barker <[EMAIL PROTECTED]> wrote: > > > > > > > > > > At 05:40 08/08/2007 +0800, Nathaniel Seventy-Three wrote: > > > > > >I am creating a spreadsheet in Calc to track the drivers and > > teams in > > > > > this > > > > > >years Formula 1 championship. > > > > > > > > > > > >At the moment it consists of 3 sheets with the main sheet being > > 18 > > > cols > > > > > by > > > > > >25 rows. After each race I'm entering the finishing position of > > the > > > > > drivers > > > > > >from 1 to 8 as the points system only pays down to 8th place. > > > > > > > > > > > >My question then is Can I use a formula to scan my race results > > sheet > > > and > > > > > >take the information from their and use it on both the drivers > > tally > > > > > sheet > > > > > >and the teams tally sheet? The catch being that I want the points > > for > > > the > > > > > >position to be added not the position the driver actually > > finished > > > in. > > > > > > > > > > > >To explain: > > > > > >1st=10points > > > > > >2nd=8 > > > > > >3rd=6 > > > > > >4th=5 > > > > > >5th=4 > > > > > >6th=3 > > > > > >7th=2 > > > > > >8th=1 > > > > > > > > > > > >So is there a formula that can get Calc to see the number 1 but > > > actually > > > > > add > > > > > >10 to the cell on the other sheet and so on down the list?? > > > > > > > > > > > >I hope I have explained this correctly. > > > > > > > > > > I understand you to say that you enter just the competitors who > > > > > finish in point-scoring positions - in other words, that you don't > > > > > > > need to consider positions beyond eighth. If not, you may have to > > > > > modify things a little to cope properly with the zero points > > scored > > > > > for these positions. > > > > > > > > > > There are various ways of doing what you need. Two obvious ones > > are > > > > > to use an array or a formula. > > > > > > > > > > 1. Using an array: > > > > > > > > > > Somewhere convenient, create a column of the points values, from > > 10 > > > > > down to 1. (There is no need to list the corresponding > > > > > positions.) Suppose these values - an "array" - are in P1 to > > > > > P8. Then use the INDEX function to pick up the points value > > > > > corresponding to the position. Use something like: > > > > > INDEX($P$1:$P$8;A1) > > > > > - where A1 represents the cell containing the position value. If > > you > > > > > need to deal with positions beyond eighth, use: > > > > > IF(A1<=8;INDEX($P$1:$P$8;A1);0) > > > > > In order to carry information over from other sheets, the A1 (or > > > > > whatever) cell reference, and perhaps also the array range, will > > need > > > > > to be preceded by the sheet reference, e.g. as Results.A1 if your > > > > > results sheet is named "Results". > > > > > > > > > > You can simplify this a great deal if you give a name to your > > array > > > > > of points values. Select the eight cells with the points values > > and > > > > > then use Insert | Names > | Define... to ascribe a name - let's > > say > > > > > "Points" - to the array. Then the above formulae can be > > simplified > > > to: > > > > > INDEX(Points;A1) > > > > > and: > > > > > IF(A1<=8;INDEX(Points;A1);0) > > > > > Apart from being easier to read, this method has the advantages > > that > > > > > you don't have to worry about all those $ signs, necessary to stop > > > > > > > your formula being modified in unwanted ways, or about adding the > > > > > sheet name if your array happens to be on a different sheet from > > > > > where its values are required. (The required $ signs and sheet > > name > > > > > are buried in the definition of the "Points" name, in fact.) > > > > > > > > > > 2. Using a formula: > > > > > > > > > > Try this: > > > > > 9-A1+INT((9-A1)/7)*MOD(9-A1;6) > > > > > or, if you need to cope with positions beyond eighth: > > > > > IF(A1<=8;9-A1+INT((9-A1)/7)*MOD(9-A1;6);0) > > > > > If you either puzzle out or test these formulae, you will find > > that > > > > > they map your positions into the corresponding points value. So > > they > > > > > work without the array of points values, which you then don't need > > at > > > all. > > > > > > > > > > All these formulae need to be preceded by an equals sign if they > > are > > > > > not used as part of a larger expression, of course. > > > > > > > > > > I trust this helps. > > > > > > > > > > Brian Barker > > > > > > > > > > > > --------------------------------------------------------------------- > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > >