Using optimization to assign by preference
Solution 1:
The only way I can seem to get Excel Solver to produce reasonably distributed selections, is by using a constraint on the number of candies available
From my comments, What's to stop someone just picking 20 of whatever is their maximum rated candy? that way, no one has any of their minimum choice.
Here's the result of testing using solver - it did what I expected. start and result
When I add an additional constraint, by restricting the candy count, the distribution is more varied, but most selections will have up to the maximum amount of candies available.
By using this: the answer becomes a varied choice of candy, but with most people getting their top pick
For your perusal, this is how I set up the spreadsheet for the solver to work