OK, so I have a very large project that I do bi-annually and it is extremely time consuming and very tedious. I have been exploring options to automate it further then I already have. Here is the general idea of what I am doing on a small scale. If I can get some assistance small scale, it should give me some guidance to create loops or replication (whatever might be needed) as this involves well over 1000 people. I also realize this is very difficult and time consuming so thank you in advance to whomever offers their assistance.
So we have an on-call rotation and our staff is required to participate 10 weeks a year. We have several different Tiers (order in which they are mobilized). Tier 1, Tier 2, and Tier 3. They are allowed to submit preferences and rank their preferred weeks 1-52. Then based on employee rank, they are assigned their 10 weeks of on-call somewhere within the 52 weeks and splitting up Tiers as evenly as possible. So the number one rank will usually get all 10 of their preferences and so on. Three of each tier and then 1 floating that can fit wherever availability is.
Each week however, we only need X amount of staff to be on-call for each tier. We put more weight into certain weeks due to the nature of the business and likelihood additional staff needed.
So I need Excel to be able to do the following with the use of Macros -
1.) House a table of participating employees with preference weeks- pretty easy I can do that
2.) House a table listing all 52 weeks and the maximum amount of on-call staff needed per Tier (example: 20 Tier 1, 15, Tier 2, and 10 Tier 3)
3.) Have an output sheet with the results. Employees listed in alphabetical order in the Column A. Row 1 (header) would list the weeks 1-52 (dates appearing by day) so 365 columns. Then the results of what tier each person is on for their assigned weeks.
So basically when the macro runs it needs to look at each employee (row) separate. (they will already be in correct order based on rank). It then needs to look at the employees preferences starting with 1 and going up in order (these may not be in chronological order). If the preference is available and the table showing on-call staff needed isn't at 0, then it would assign that week. It would repeat this process until the employee has been assigned 10 total weeks. It then needs to move on to the next ranked employee.
I know that is a lot and probably all of it can't be done, but any one piece that can be automated is a time saver.
Bookmarks