In April 2017, Shenricus, posed a question in the Chandoo.org Forums:
“I have 24 people who each have their own score. I’ve been trying to figure out how I can divide these names into 3 even teams – or as close as possible.”
I answered with a Solver Based solution, and Bosco Yip also added to my solution with a slightly different approach.
This caused me to reconsider my first attempt and finally I posted a Final Solution, which was also a Solver based solution, but was a much more robust solution than my original solution or Bosco Yip’s solution.
This post will examine the thought process used to derive the solution and then implement that using solver.
As always a Sample file is provided so you can follow along: Download Sample File here.
Approach
Shenricus gave us a list of 24 players and a score for each player.
The players are Ranked from Best to Worst.
We have no other information as to the Sport or Score.
The question posed by Shenricus is to distribute the players into teams so that each team is “As even as possible”.
Considering that we have 24 players and need to put them into 3 teams, we will assume each team has the same number of players and hence requires 8 players.
My initial though was to setup a Delta or Difference between each Players Score and the Mean (Average of all scores).
First calculate the Average of All the Scores
Then calculate the Differences between the each players Score and the Average
Next we need to distribute each player into one of 3 teams.
Solver will put a value of 1 when a Player is in a Team, and a 0 when the player is not in a Team.
Next add a Formula to Calculate the Sum of the Variations from Mean for each Team
and Finally Sum these up
We should be able to get Solver to Minimise this value.
So lets look at how Solver is setup.
How Do Use Solver?
Solver is found in the Data, Analyze Tab.
Your screen may look different to mine depending on which version of Excel you are using and if you have your Excel window at a maximum size or not.
If you cannot see it, you may not have Solver Loaded.
How Do We Install Solver?
Right Click on any part of the Ribbon
Select Customize the Ribbon
Select Add-ins on the Left menu and
Manage Excel Add-ins in the Manage Dialog and press Go…
Finally Select Solver and Ok
Solver will now be visible in the Data, Analyze Tab
How Do We Setup Solver?
Click anywhere in the model
Goto the Data, Analyze Tab
Select Solver
The Solver Dialog is show as:
Lets look at each of the highlighted sections first and I will discuss this first as a plain English and then I will discuss how it is implemented in Solver
Solver is asking us to Set our Objective, to a Minimum, Maximum or Value, by changing some cells, Subject to some constraints.
Set Objective
Solver is asking what our objective is?
In our Even Teams example we want to minimise the variance in the average Team Scores
By Changing variable Cells
We want to achieve our objective by setting Each Player to be a Member of 1 team
That is Each player must have a 1 in a Column of Team 1, Team 2 or Team 3
Subject to the Constraints
We have a Number of Constraints that our model will be subject to
Each player must have a 1 in a Column of Team 1, Team 2 or Team 3
Each Team must have 8 players
All 24 Players must be used only once each
Each player can only be in a Team, he can’t be shared between teams
Solver operates using a number of techniques to Solve the above problem.
Simplistically it iterates values into the Variable Cells, subject to meeting the constraints.
It measures the output and re-iterates until a better solution is reached.
In Solver Speak
Lets look at how our model is setup in Solver
Objective
The Objective is to Minimise the Sum of the Team Scores
That is to Minimize Cell E27
Variable Cells
We will be changing the allocation of players into each team.
This is the Variable Cells $E$2:$G$25
Subject to the Constraints
The variable cells will be changed by Solver subject to meeting our 4 criteria defined above
a. That each team has 8 players, each cell in $E$29:$G$29 is 8
b. That each player only plays in 1 team, that is cells $E$2:$G$25 can only be 0 or 1 (binary)
c. That all 24 players are used, ie: $H$26 = 24
d. That all 24 players are used only once, each cell in $H$2:$H$25 = 1
We haven’t yet setup Conditions C or D above in our model yet
So add a Column H
H2: =Sum(E2:G2) and copy that down to Row 25
This will add the Total of each Team per Player and should be 1
And add up the total of these in H26, This is the Total of all allocated Players and should be 24
H26: =Sum(H2:H25)
In solver setup each of these sections then click Solve
After a Minute or so, Solver will return to tell you that it has found a Solution
Lets check things
Firstly we can see that
1. The sum of the Team Scores, E27, is a very small number, as we requested
2. Each player was only used once Column H, True
3. All 24 Players were used H26, True
4. Each Team has 8 players, E29:G29, True
5. Each player is not split between teams, E2:G25, True
So all our Criteria are met, however if we start to look at the solution in more detail we can see that Team 3 has been assigned the Best 8 players, where as Team 1 has mostly the worst players, Team 2 is in the middle.
Solver has solved our problem, but our problem obviously hasn’t been correctly specified.
Solver has setup 2 teams with Low Negative Scores to Offset Team3 with a High Positive score, with the overall result being a low average Team Score
If we look at the Total Scores for each Team, E31:G31

We can see that the Total Team Scores vary between 7.705 and 7.891
A spread of 0.186
What we actually need to specify is that the Variation in these Total Team Scores is Minimised. That is the spread between the 3 scores is minimised.
There are Statistical Measurements called Variance and Standard Deviation
Without going into too much detail, each is a measure of how far a set of numbers are spread out from their average value.
Refer Wikipedia Wikipedia Variance, Wikipedia Standard Deviation
Luckily we can easily calculate these using Excel
In cell E33 =STDEV.P(E31:G31)
Excel displays 0.078969
So the Standard Deviation of these 3 Team Scores is 0.0789
However we need to re-run the Solver Model with a new Objective
Firstly, reset all the players to 0, ie Players are not assigned to any Team
Select E2:G25 and type 0 Ctrl Enter
Click anywhere in the model,
Goto the Data, Analyze Tab
Select Solver
Set the Objective to $E$33
The Variable Cells and Constraints remain unchanged
Now Click Solve
After a minute or so, Solver will announce it has a New Solution
Accept that as before
Lets check things
Firstly we can see that
1. The sum of the Team Scores is a very small number, as we requested, Ok
2. Each player was only used once Column H, Ok
3. All 24 Players were used H26, Ok
4. Each Team has 8 players, E29:G29, Ok
5. Each player is not split between teams, E2:G25, Ok
If we look at the solution in more detail we can see that
The three Teams now have a spread of both good and not so good players
But the important thing to notice is that the Standard Deviation of the 3 Team Scores is now 0.001699, or 2.1% of the previous Standard Deviation.
This shows the teams are much more “Evenly” matched
Solver has solved our problem.
Bosco’s Solution
During the thread Bosco proposed an alternative, algebraic solution.
It involved distributing players according to simple rules
The team who got the Best player also took the worst player,
The next team who got the Second best player also took the second worst player
The next team who got the Third best player also took the third worst player, etc
This is shown:
We can see that it also meets all of the constraints of the model, but has a Standard Deviation 0.00368, that isn’t as low as the Solver solution 0.001699.
What are these Other Solving Methods?
When you were setting up Solver you may have noticed a dialog asking, Select a Solving Method:
The best discussion I have found on these alternative Solver Techniques is shown on the link below
http://www.engineerexcel.com/excel-solver-solving-method-choose/
Closing
We can see how Solver has been used to distribute players according to player ratings and even out teams.
Unfortunately, Shenicus never came back to the forums and so we don’t know how his teams went ?
How have you distributed players or anything else ensuring things are even ?
Let us know in the comments below:


































39 Responses to “11 very useful excel keyboard shortcuts you may not know”
You asked about a favorite keyboard shortcut: I often right click the navigation arrows at the bottom of an Excel workbook to get a list of the worksheets. I can click the one I want without having to scroll left or right.
I regularly use the networkdays(x,y,z) function to show the number of working days between two given dates. To exclude public holidays I reference a list of dates ("z" in the above reference) which I periodically update to reflect upcoming non-working days. To keep the sheet looking tidy for other users, I like to hide this column when I'm done, and then unhide it when I update the sheet.
With 40 separate workbooks to edit, these shortcuts make it a breeze...
? Hide selected column: CTRL+0 [zero]
? Unhide hidden column(s) within selection: CTRL+SHIFT+) [closed parenthesis]
If an "Autofit Selection" keyboard shortcut (not just a key sequence) existed, I'd be as happy as a clam!
you can use Alt+o+c+a to autofit selection
Is there a way to auto arrange the column width as you enter the data. Without a macro
You may use alternative key of hide the selected cell by ---print + H key
Unhide---prnt+U keys
You may use alternative key of hide the selected cell by ---print + H key
Unhide---prnt+U keys
[...] 11 very useful excel keyboard shortcuts you may not know [...]
[...] 11 very useful excel keyboard shortcuts [...]
[...] an Excel Conditional Formatting Rock Star 11 very useful excel keyboard shortcuts 73 Free Designer Quality Excel Chart Templates Tracking mutual fund / Stock portfolios using Excel [...]
Hello Chandoo, thanks for sharing this information. With some of the shortcuts I seem to have difficulties as they do not seem to work on the German keyboard.
Can you maybe verify that those combos are only working with the keyboard setup you are using? What would be a good source to lookup combinations for other layouts?
Regards, 1xoid1
@1xoid1 ... Thanks for visiting PHD and taking timeout to ask your question. Unfortunately all my German can be summarized to one phrase: "guten tag".
I wont be able to help you, but I can request other readers to respond. So if you know German or use German keyboard and can answer 1xoid1's question, then you get a free donut.
Guten Tag 🙂
To Sam Krysiak.
Shortcut to Autofit Selection (assuming you mean autofit columns). If you right click toolbar, click customise. From Commands tab/Categories select Built-in Menus.
In Categories window scroll down and select Columns and drag drop it onto toolbar. Then click the new toolbar Columns button and drag drop Autofit button onto your toolbar (note Autofit for Columns will no longer appear in your menus, only on toolbar).
Remove Columns button from toolbar (if you want to keep clutter down) drag and drop it off of your toolbar.
Close Customise box.
Now to Autofit columns just press "Alt" then "A".
Comment 8 correction - 2nd paragraph should read
"In Commands window...
@1xoid1:
Read the following text as follows: The key ,[;] is the one right to the M on the German keyboard. Here are the differences you have to know when using a German keyboard:
2. Press strg .[:] for inserting the current date (and strg shift .[:] for inserting current time)
3. Press strg ,[;] to copy values from cell above
8. Press strg shift –[_] to apply an outline border
10. Press strg-shift S to activate the font drop down (Schriftgroesse)
11. Press strg-shift G to activate the font size (Groesse)
Number 10 and 11 do not work with Excel 2007 anymore, but strg-shift-P shows the font tab of the cell format dialogue in Excel 2007.
All other shortcuts should work on a German keyboard exactly as Chandoo described them.
More information needed? Download a complete list with all shortcuts for Microsoft Excel in German (for free):
http://www.freeware-download.com/downloaddetails/5655.html
@Chandoo: please do not send a donut, unless you are able to attach one to an email. Otherwise the donut might be able to walk by itself, when it arrives here in Germany...
I forgot to mention:
For all readers using an English keyboard: Chip Pearson offers a comprehensive list of Excel shortcuts on the English keyboard:
http://www.cpearson.com/excel/ShortCuts.aspx
[...] your own keyboard shortcuts in Excel 2007, knowing a few keyboard shortcuts in excel is a huge help. Lyte Byte describes a nifty way to create your own key board shortcuts in [...]
[...] Select a bunch of cells and click on the Sigma symbol on the standard tool bar. Alternatively you can use Alt+= keyboard shortcut. [...]
I do some data entries column A,column B ,Column C , A and B have 10 to 12 digit codes , C has the names ; Kindly suggest me a format or formula for excel to avoid duplication of entries in all the the three columns.
Regards,
Prashant
@Prashant... You can use conditional formatting to highlight duplicate entries in the three columns. That way whenever you type a dupe value in a cell the formatting would highlight the values so that you can avoid the error.
check this post for more on using this way to handling duplicates: http://chandoo.org/wp/2008/03/13/want-to-be-an-excel-conditional-formatting-rock-star-read-this/
If you are looking for a way to remove duplicates from an existing range, you can try one of the various techniques we have described here. Try these tips:
http://chandoo.org/wp/2008/11/06/unique-duplicate-missing-items-excel-help/
http://chandoo.org/wp/2008/08/01/15-fun-things-with-excel/
[...] good alternative (although manual) is to use keyboard shortcuts CTRL + ; or CTRL + : to insert current date and time in the active cell. Since this places the [...]
Your site doesn't correctly work in safari browser
Hi GesyimmeliA: Can you tell me which version of Safari on which OS has this problem. I use Macbook at home and loaded the site quite often in Safari and never seen any layout or content issues. Are you facing any script issues while posting comments or somethings like that ?
Hey Chandoo. Great site. Learning lots.
My favorite Excel shortcut has got to be Alt+Down when over an autofilter drop down. Learning that changed my life. That was one of the last things I needed to use a mouse for. Changed my life.
[...] are a big advocate of keyboard shortcuts. I think learning a handful of keyboard shortcuts can improve your productivity tremendously, [...]
My favourit keyboard shortcut is control and 1 (use the 1 above the letters on the keyboard, not the number pad) for format cells.
Favourite shortcut: alt + shift + right/left arrow for grouping/ungrouping!
[...] Select a bunch of cells and click on the Sigma symbol on the standard tool bar. Alternatively you can use Alt+= keyboard shortcut. [...]
[...] clicking on these: excel keyboard shortcuts, excel mouse tips & tricks, excel productivity tips part 1 & part [...]
Martin Williamson thanks for the autofit tip! You rock.
In order to generate charts/bar graph with a single key:
1. Select the data
2. Press F11
3. Magic.... 🙂
F3 = Paste a Name or the entire list of Names
Crtl + F3 = Name Manager
Crtl + : = Inserts current time.
F12 = Save As
Mistake!
Crtl + Shift + : = Inserts current time.
SIR U R THE BEST PERSON WHO SHARES A WONDERFULL AND IMPORTANT TIPS IN EXCEL. THANKS AND KEEP ROCKING.
How do i hide / unhide a work sheet using the keyboard.
Great!
Other useful excel shortcuts
http://webtutorialplus.blogspot.com/2012/01/excel-quick-tip-useful-encoding-hotkeys.html
input in one cell 1a23bc output in two cell one of 123 and other one is abc how to possible, please help me.
Hey cool shortcuts but excel have more shortcuts then you listet.
i find a big database of supportet shortcuts for Excel 2007 here
http://www.veodin.com/excel-2007-shortcuts/
[...] INTEREST Date with my sheet – 10 tips on using date / time in excel http://chandoo.org/wp/2008/07/29/excel-keyboard-shortcuts/ [...]
Great article with some very useful follow-up comments and tips.
One simple question … how do you vertically align the drop-down filter button in a cell with a larger than normal height?
It’s easy enough to do so with a cell’s contents but the drop-down filter button stubbornly remains at the bottom and I need it at the top!
I’ve looked everywhere and haven’t located an explanation to what I am sure is considered an Excel basic.
Cheers