Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.worksheet.functions
external usenet poster
 
Posts: 7
Default A formula to auto-update a classification ONLY if it goes UP

I have a spreadsheet which assigns a class value to a competitor based on
that person's average score. As I add new scores in a row for each person
and their average changes, the person's "class" is automatically changed.
Here is the formula I am using....

=IF(B7197.9,"Master",IF(B7189.9,"Expert",IF(B71 69.9,"Sharpshooter",IF(B7139,"Marksman",IF(B70," In Training")))))

The problem is that, according to the rules in the league I am running, a
person's "class" may ONLY go UP, never down, even if his average drops. For
example, when a person moves "up" to the rank of "Master", he can never drop
down to "Expert" again even if his subsequent scores bring his average down.
So, I need the formula to somehow check whether the new average will "move"
the player up or down, and ONLY update their classification if it jumps to a
higher rank. It should do nothing otherwise.

I thought of assigning a par value to each class such as "Master=5",
Exper=4", etc., and then having the formula base it's evaluation on that
number, but I haven't been able to figure out how to do it.

Any help?

P.S.
Here is an example of the format of the current spreadsheet:
Classification Running Average Name Score1 Score2 Score3
Master 199 Jack 200 199
200
Expert 196 Jane 197 198
194

  #2   Report Post  
Posted to microsoft.public.excel.worksheet.functions
external usenet poster
 
Posts: 1,358
Default A formula to auto-update a classification ONLY if it goes UP

You will need to calculate a 'running' average on your sheet that you are
entering data on. Say, for example, your running average is in column C, with
competitor in column A, and there score for that entry in column B.
C2: =SUMPRODUCT(--(A$2:A2=A2),(B$2:B2))/COUNTIF(A$2:A2,A2)
This will keep the running average for the competitor.
Then, your B7 below on your other tab, B7 would b equal to:
=MAX(IF(Data!$A$2:$A$100=A7,Data!$C$2:$C$100))
Assuming A7 is the competitor you are evaluating. B7 will now be equivalent
to the competitors highest 'average'.

--
John C


"thorshammer" wrote:

I have a spreadsheet which assigns a class value to a competitor based on
that person's average score. As I add new scores in a row for each person
and their average changes, the person's "class" is automatically changed.
Here is the formula I am using....

=IF(B7197.9,"Master",IF(B7189.9,"Expert",IF(B71 69.9,"Sharpshooter",IF(B7139,"Marksman",IF(B70," In Training")))))

The problem is that, according to the rules in the league I am running, a
person's "class" may ONLY go UP, never down, even if his average drops. For
example, when a person moves "up" to the rank of "Master", he can never drop
down to "Expert" again even if his subsequent scores bring his average down.
So, I need the formula to somehow check whether the new average will "move"
the player up or down, and ONLY update their classification if it jumps to a
higher rank. It should do nothing otherwise.

I thought of assigning a par value to each class such as "Master=5",
Exper=4", etc., and then having the formula base it's evaluation on that
number, but I haven't been able to figure out how to do it.

Any help?

P.S.
Here is an example of the format of the current spreadsheet:
Classification Running Average Name Score1 Score2 Score3
Master 199 Jack 200 199
200
Expert 196 Jane 197 198
194

  #3   Report Post  
Posted to microsoft.public.excel.worksheet.functions
external usenet poster
 
Posts: 7
Default A formula to auto-update a classification ONLY if it goes UP

I'm not sure if that answers my question or not.
I already have a formula calculating the running average for each competitor
with a scope of column N to column
BA=IF(ISERROR(AVERAGE(N7:BA7)),"NSR",(AVERAGE(N 7:BA7)))

Now I need to have the spreadsheet assign the class to each competitor
automatically based on the result of this formula but ONLY if the current
average indicates a 'jump' in rank. If it indiacates a 'drop' in rank, it
should do nothing.
Does your 2nd formula below accomplish this?

"John C" wrote:

You will need to calculate a 'running' average on your sheet that you are
entering data on. Say, for example, your running average is in column C, with
competitor in column A, and there score for that entry in column B.
C2: =SUMPRODUCT(--(A$2:A2=A2),(B$2:B2))/COUNTIF(A$2:A2,A2)
This will keep the running average for the competitor.
Then, your B7 below on your other tab, B7 would b equal to:
=MAX(IF(Data!$A$2:$A$100=A7,Data!$C$2:$C$100))
Assuming A7 is the competitor you are evaluating. B7 will now be equivalent
to the competitors highest 'average'.

--
John C


"thorshammer" wrote:

I have a spreadsheet which assigns a class value to a competitor based on
that person's average score. As I add new scores in a row for each person
and their average changes, the person's "class" is automatically changed.
Here is the formula I am using....

=IF(B7197.9,"Master",IF(B7189.9,"Expert",IF(B71 69.9,"Sharpshooter",IF(B7139,"Marksman",IF(B70," In Training")))))

The problem is that, according to the rules in the league I am running, a
person's "class" may ONLY go UP, never down, even if his average drops. For
example, when a person moves "up" to the rank of "Master", he can never drop
down to "Expert" again even if his subsequent scores bring his average down.
So, I need the formula to somehow check whether the new average will "move"
the player up or down, and ONLY update their classification if it jumps to a
higher rank. It should do nothing otherwise.

I thought of assigning a par value to each class such as "Master=5",
Exper=4", etc., and then having the formula base it's evaluation on that
number, but I haven't been able to figure out how to do it.

Any help?

P.S.
Here is an example of the format of the current spreadsheet:
Classification Running Average Name Score1 Score2 Score3
Master 199 Jack 200 199
200
Expert 196 Jane 197 198
194

  #4   Report Post  
Posted to microsoft.public.excel.worksheet.functions
external usenet poster
 
Posts: 1,358
Default A formula to auto-update a classification ONLY if it goes UP

If this is your formula in B7, then it is not a 'running' average, it is
always a current average. From your formula, it appears as though the
person's scores are entered in cells from N7:BA7. Real simple example would
be as follows:
N7:P7 = 100, 125, 150, 75
Current average = 112.5
A running average would have multiple results, say in cells N8:O8, and they
would be: 100, 112.5, 125, 112.5
Then you would take the maximum value from row 8, which would give you
always your highest average.
--
John C


"thorshammer" wrote:

I'm not sure if that answers my question or not.
I already have a formula calculating the running average for each competitor
with a scope of column N to column
BA=IF(ISERROR(AVERAGE(N7:BA7)),"NSR",(AVERAGE(N 7:BA7)))

Now I need to have the spreadsheet assign the class to each competitor
automatically based on the result of this formula but ONLY if the current
average indicates a 'jump' in rank. If it indiacates a 'drop' in rank, it
should do nothing.
Does your 2nd formula below accomplish this?

"John C" wrote:

You will need to calculate a 'running' average on your sheet that you are
entering data on. Say, for example, your running average is in column C, with
competitor in column A, and there score for that entry in column B.
C2: =SUMPRODUCT(--(A$2:A2=A2),(B$2:B2))/COUNTIF(A$2:A2,A2)
This will keep the running average for the competitor.
Then, your B7 below on your other tab, B7 would b equal to:
=MAX(IF(Data!$A$2:$A$100=A7,Data!$C$2:$C$100))
Assuming A7 is the competitor you are evaluating. B7 will now be equivalent
to the competitors highest 'average'.

--
John C


"thorshammer" wrote:

I have a spreadsheet which assigns a class value to a competitor based on
that person's average score. As I add new scores in a row for each person
and their average changes, the person's "class" is automatically changed.
Here is the formula I am using....

=IF(B7197.9,"Master",IF(B7189.9,"Expert",IF(B71 69.9,"Sharpshooter",IF(B7139,"Marksman",IF(B70," In Training")))))

The problem is that, according to the rules in the league I am running, a
person's "class" may ONLY go UP, never down, even if his average drops. For
example, when a person moves "up" to the rank of "Master", he can never drop
down to "Expert" again even if his subsequent scores bring his average down.
So, I need the formula to somehow check whether the new average will "move"
the player up or down, and ONLY update their classification if it jumps to a
higher rank. It should do nothing otherwise.

I thought of assigning a par value to each class such as "Master=5",
Exper=4", etc., and then having the formula base it's evaluation on that
number, but I haven't been able to figure out how to do it.

Any help?

P.S.
Here is an example of the format of the current spreadsheet:
Classification Running Average Name Score1 Score2 Score3
Master 199 Jack 200 199
200
Expert 196 Jane 197 198
194

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
auto update formula when inserting additional columns dlisman Excel Worksheet Functions 1 August 9th 07 04:28 PM
How to auto update date contained in formula wmc New Users to Excel 4 April 18th 07 04:16 PM
How to turn off auto update on a formula Dave Excel Discussion (Misc queries) 0 February 20th 06 09:15 PM
Can I disable auto formula update? jch New Users to Excel 4 August 9th 05 06:31 PM
How do I make a name formula auto update in Excel Sammy Soup Excel Worksheet Functions 3 December 30th 04 05:18 PM


All times are GMT +1. The time now is 10:49 PM.

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"