New Contributor

# creating a top of the charts board

hey guys, I produce a leaderboard each month for our top salespeople. its been run the same way for years. but I wanted to give it an overhaul but coming up against my poor excel know-how. I want to create a "top of the charts" league with each individual results with an arrow up and down to show if they have moved in the charts month vs month, ideally with a figure. eg. UP6 or DOWN3

I hope it will be more motivating to our newer starters to see if they are moving up.

this is how I have the table set up so far. I receive the raw data once a month and I create a simple pivot table to show:

 sales person deals year to date (Nov) Month Positon sales person deals year to date (Oct) Month Position Change Sales Person A 808021.9 Oct 1 Sales Person A 769494.2 Sept 1 Sales Person B 764431.1 Oct 2 Sales Person C 646092.8 Sept 2 Sales Person C 656019.5 Oct 3 Sales Person B 544869.5 Sept 3 Sales Person D 450066.2 Oct 4 Sales Person E 432537.1 Sept 4 Sales Person E 443488.1 Oct 5 Sales Person F 426903.7 Sept 5 Sales Person F 442634.9 Oct 6 Sales Person E 322833.9 Sept 6

7 Replies

# Re: creating a top of the charts board

I changed the sequence of your columns, just because it made more sense to me to show the change in connection with the most recent month's results. The idea behind the formula, though, could still work in the layout you originally had.

This is no doubt also a great example of where the new LET function would be useful. I didn't use it because I have no experience yet, but for my own learning I will go and try it. It would make the formula less lengthy, since it would no longer be necessary to repeat the "MATCH" function so many times.

# Re: creating a top of the charts board

Here's the same solution, except using LET to shorten the formula. My first opportunity to use that new function.

Here's the original:

=IFS(

MATCH(A2,\$F\$2:\$F\$7,0)<D2,"Down"&TEXT(D2-MATCH(A2,\$F\$2:\$F\$7,0),"0"),

MATCH(A2,\$F\$2:\$F\$7,0)>D2,"Up"&TEXT(MATCH(A2,\$F\$2:\$F\$7,0)-D2,"0")

)

And here it is using LET, which is a way to take that function MATCH(A2,\$F\$2:\$F\$7,0) and replace it with MtchVal

=LET(MtchVal,MATCH(A2,\$F\$2:\$F\$7,0),

IFS(

MtchVal<D2,"Down"&TEXT(D2-MtchVal,"0"),

MtchVal>D2,"Up"&TEXT(MtchVal-D2,"0")

)

)

# Re: creating a top of the charts board

Mathetes, thank you. I will study this tomorrow.

I will see if I can spot the sequence and apply it to my original with 80 sales people. Thanks again for providing the answer.

Nick

# Re: creating a top of the charts board

My solution does depend on the fact that your prior month is sorted in order by their rank in that month. (That's what the MATCH function looks at, coming up with their prior rank based on where they were in the array)

It would also be possible to look at the prior rank number and do the math comparing current rank with that number......

And, of course, presuming that there are new hires and turnover, you could add other conditions to the IFS function to cover "New" -- no need for a label to apply to somebody who has left employment.

# Re: creating a top of the charts board

Following up on your ideas!  I have not relied on either the sort order or any existing calculation of the ranking for the prior month.  Individuals that were not active within the previous month are ranked at n+1 for comparison purposes.  The text and colours are all produced by custom number formats.

``````= LET(
priorPosns, RANK(PriorDeals, PriorDeals),
prior,
XLOOKUP(
person,
priorList,
priorPosns,
1+MAX(priorPosns) ),
change, prior - currentPosition#,
change )``````

# Re: creating a top of the charts board

I never cease to be amazed at how many ways Excel offers to accomplish any given task.

In this case, I could replicate (with a bit more practice on my own) the formula itself. But it never would have occurred to me to use custom formatting in the manner you do; nor, frankly, do I really understand it.

Again, however, I suspect that conditional formatting could serve the same purpose, less elegantly perhas, but yet again, Excel holds multiple ways to get from A to Z.

# Re: creating a top of the charts board

I know nothing of the OP's knowledge of Excel but I was confident that you could follow and might be interested.  Following the (dubious) principle "If a thing is worth doing, it is worth doing to excess", I could set different number formats from a set of conditional formats.  Who says the numbers never lie, in Excel what you see is not necessarily what you have.

Worse than that, it is also possible to use LET to perform the calculations that might otherwise be held in a helper range, but then display both the helper range and the final calculation as a single dynamic formula.  It is like a program module written to a cell.

``````= LET(
currentPos, RANK(currentDeals, currentDeals),
priorPosns, RANK(PriorDeals, PriorDeals),
prior, XLOOKUP(person, priorList, priorPosns,
1+COUNTA(priorList) ),
change, prior - currentPos,
IF({1,0}, currentPos, change) )``````