After a really long wait finally I have used … Excel 2007 (drum roll) and contrary to what many people think, I have found Excel 2007 to be a very well designed piece of software. Of course there are various issues with it and I am sure folks at MS are working on them so that next versions of MS Office are much more pleasant and simpler to use.
I wanted to share 10 wow factors in Excel 2007 that may convince you to try it.
1. The interface is gorgeous and easy on eyes

The Excel 2007 interface is very well polished and looks neat. It is easy on eyes with simple colors. All the file related activities can be accessed from office button on the top-left corner, while ribbon UI provides access to all excel features.
2. When you right click on a cell it shows formatting options as well

Usually when you right click on a cell (or a range of cells) it is to format them. Now you can do that even faster. When you right click excel 2007 shows the standard formatting options as well.
3. Status bar now shows average and count as well

Remember how you can select a bunch of cells in excel 2003 and earlier and findout out their sum (or average or count) quickly by looking at status bar ? Well, now you can find out average, count and sum from status bar (actually you can add more options, just right click on status bar and choose the statistics you want)
4. Improved conditional formatting with micro charts

One of the significant new features of Excel 2007 is improved conditional formatting. It has all the goodness of excel 2003’s conditional formatting and on top added new features like incell micro charts. They are very easy to use.
5. You can format tables in a jiffy

One of the most common formatting tasks is table formatting. Excel 2007 totally automated it with some gorgeous table formats. You can customized these styles very easily.
6. They have a Remove Duplicates button !!!

That is right, finally a remove duplicates button. Select the data, press this button and mention whether you want to overwrite or paste in another place and that is all. Now, if only they could add other common data clean up tasks as buttons…
7. The default chart formatting is way better than that of Excel 2003

The default charts look much much better than those generated in earlier versions of Excel. What more, they have disabled annoyances like font-scaling by default. 🙂
8. Better and Visually Appealing Color Scheme

The default color scheme is very good and provides excellent contrast when used in charts and tables. What more, the colors are no longer limited to 56 but you can add your own colors with much ease.
9. Ribbon is not that difficult to use

The Ribbon UI has been criticized by lot of people. But it is not really that difficult to use and get used to. Although you would need 2-3 clicks for activities that previously took 1-2 clicks. It would have been excellent if MS had provided an option to switch to classic menu navigation.
10. Despite the new look most of the dialogs are same

Even though Excel 2007 may seem like a huge leap from Excel 2003, the underlying dialog boxes, customization options are all same as that of Excel 2003. For eg. you can see that Ctrl + 1 on a cell produces the above “format cells” dialog box which is almost same what you get in 2003 version of excel.
Another thing is all the excel 2003 keyboard shortcuts work in excel 2007, so power users who have learned the shortcuts over a period need not worry about productivity loss.
All in all, I found Excel 2007 pretty ok except for few glitches. I am planning to install (not upgrade) it on my personal computer as well so that I can experiment and learn more.
What is your take on Excel 2007 ? What are the features that wowed you?
PS: This review is based on my first look at the Excel 2007 and not an exhaustive review. I haven’t tested features like pivot tables, VBA, new formulas etc. Stay tuned for more excel 2007 articles in the coming weeks.














19 Responses to “How to Distribute Players Between Teams – Evenly”
An excellent solution, especially for large data sets.
Another solution without using solver would be to assign the player with the highest score to Team 1, the 2nd to team 2, 3rd to team 3, 4th to team 3, 5th to team 2, 6th to team 1, 7th to team 1 and it continues. This method would end up with a Std Dev of 0.001247219. This works best with a distribution with lower Std Dev for the dataset.
Full Disclosure: this is not my idea, remember reading something a few years ago. Think it may have been Ozgrid
thinking back I now remember why I read about it. About 10 years back I had to distribute around 300 team members into 25-30 odd teams. Used this method based on their performance scores. I used the method I described to do this and the distribution was pretty fair.
Solver would have saved me a ton of time though 🙂
I think the issue with you first Solver approach was that you took the absolute value of the sum of team deviations (which should always be zero except for rounding) instead of the sum of the absolute values (which is a reasonable measure of how unbalanced the teams are).
Here's another simple algorithm you could use: you start from the top (with players sorted from high to low), and at each step allocate the next player to whichever team has the smallest total so far. You can implement it dynamically with some formulas so it will update automatically when the data changes.
If the scores were more widely distributed (so that this might end up with not all teams the same size), you could add a constraint to only pick among the teams which currently have fewest players at each step, or just stop adding to any team when it hits its quota.
When I tried it on the sample, I got the three teams below, with a STDEV of 0.000942809 (i.e. about half of what Solver got to).
Team 1: John, Hugo, Tom, Josh, Eric, Zane, Charles, Andrew
Team 2: Barry, Michael, Kenny, Joe, Xavier, Patrick, Oliver, William
Team 3: Henry, Steven, Ben, Frank, Kyle, Edward, Cameron, Lachlan
Thanks for sharing!
Hi,
I was looking at all the solutions and this is closest to what I intended to do. I am dividing a bunch of players into 3 soccer teams. Players availability is also a factor while deciding the teams.
So the steps the excel needs to do is as follows:
1) In availability column if "yes" go to next
2) Equally divide 'Goalkeepers', 'Strikers', 'Defenders' basis their quality
So the end result gives each 3 teams a balance of players playing at different positions.
Can this be done on Google spreadsheet with only availability as an input from the user and rest calculates by itself.
Sorry for asking such a pointed question, but I have been struggling to find a solution for it for sometime now!
Hi Ishaan,
I am working on a similar problem at the moment, so I am wondering if you ever found a solution and if you are willing to share what you did.
Hi everyone, this is a variation of the famous Knapsack Problem https://en.wikipedia.org/wiki/Knapsack_problem.
I had to use a VBA implementation recently as part of a problem, where we ar trying to allocate teams of an organization into different locations (we are a large company with many different team). The goal was to optimally allocate teams to individual buildings without putting too many teams into one building and not splitting teams apart.
As we had around 400 teams of different sizes, solver couldn't handle it anymore. Luckily there is a Knapsack algorithm implementation in VBA readily available on the internet :).
I also went with a heuristic approach first!
An interesting mathematical solution but what if Eric and Xavier can't stand each other or Patrick is best friends with Steven - the real life problems that effect "even" teams.
@Joe
You can add more criteria like
If Eric and Xavier can't stand each other
=OR(AND(E15=1,E16=1),AND(F15=1,F16=1),AND(G15=1,G16=1))
It must be False
If Patrick is best friends with Steven
=OR(AND(E5=1,E17=1),AND(F5=1,F17=1),AND(G5=1,G17=1))
It must be True
Note that the 2 formulas above are exactly the same
except for the ranges
One must be True = Friends
One must be False = Not Friends
Nice Post!
Just one question What if number of players are not even or equally divisible.
Nice post Hui!
I download your workbook and just try to change in options the Precision Restriction from 10E-6 to 10-8 and the Convergence from 10E-4 to 10E-10. The process take almost the same time, but the results was great.
The standard deviation I got was 0,000471.
Team 1: John, Tom, Kenny, Frank, Eric, Xavier, Edward, Zane
Team 2: Steven, Hugo, Ben, Joe, Josh, Oliver, Cameron, William
Team 3: Barry, Henry, Michael, Kyle, Patrick, Charles, Andrew, Lachlan
Great application of Solver! Thanks for the link!
Great explanation. Well done... However, I tried with 6 teams of 4 players and solver never did finish.
How about vba code for the same data set.
I have 3 column A B C wherein A has text and B has number Wherein C is blank. And in C1 been the header C2 where I want the name to come evenly distributed the number which is in Column B.
My Lastcolumn is 1000.
Sorry if I'm being slow here, but how is 'Team Score' calculated? I've gone through the explanation several times but it seems to just appear.
@Hrmft
This process uses the Solver Excel addin
Solver is effectively taking the model and trying different solutions until it gets a solution that meets all the criteria
Then solver puts the solution into the cell and moves to the next cell
So yes it appears to "just appear"
Hi ! Thank you so much ! Works great 🙂
I cannot get the fourth Equation to work in my excel spreadsheet
You have =($E$2:$G$25=0)+($E$2:$G$25=1)=1 as a SUMIF solution, I have, =($F$2:$H$13=0)+($F$2:$H$13=1)=1 as my solution but it does not work. The only thing I changed is the ranges. Any suggestions?
Thank you.
Jim
I cannot get the fourth Equation of TURE or FALSE statements to work in my excel spreadsheet You have =($E$2:$G$25=0)+($E$2:$G$25=1)=1 as a SUMIF solution, I have, =($F$2:$H$13=0)+($F$2:$H$13=1)=1 as my solution but it does not work. The only thing I changed is the ranges. Any suggestions?
Sorry I left some of it out in the previous question,
Thank you. Jim