+ Reply to Thread
Results 1 to 36 of 36

Massive Sorting question.

  1. #1
    Registered User
    Join Date
    10-25-2007
    Posts
    85

    Massive Sorting question.

    Hey guys, I'm not the most adept excel user and I do have some minor experience with C++ but that's the extent of it.

    I was wondering if you had any tips for something I'm trying to put together.


    I'll start with a list, we'll say 1500 names all given a rank from 1-1500. Each of these 1500 names will have a title that dictates to which group they belong. Each name will also have a list of preferences. We'll say 1-6. so they could be in any order. It will look kind of like this:

    NAME RANK GROUP 4 3 5 2 1 6

    What I'm going to need to do is sort the list by group first, then sort each of those groupings by rank. Then I'll have to assign, based on ranking their preferences in the 1-6. To make things more complicated, each of those 1-6 can only have a certain number of people assigned to them.

    finally i need the decisions output in a list format by grouping, then name, with the 1-6 option they had selected.

    So I know exactly what im trying to do, looking for the best way to go about it, any tips would be appreciated.

  2. #2
    Registered User
    Join Date
    10-25-2007
    Posts
    6

    excel solution

    I'll start with a list, we'll say 1500 names all given a rank from 1-1500. Each of these 1500 names will have a title that dictates to which group they belong. Each name will also have a list of preferences. We'll say 1-6. so they could be in any order. It will look kind of like this:

    NAME RANK GROUP 4 3 5 2 1 6

    What I'm going to need to do is sort the list by group first, then sort each of those groupings by rank. Then I'll have to assign, based on ranking their preferences in the 1-6. To make things more complicated, each of those 1-6 can only have a certain number of people assigned to them.

    finally i need the decisions output in a list format by grouping, then name, with the 1-6 option they had selected.
    I think I can do this in excel but not VBA.
    Name = column A
    Rank = column B
    Group = column C
    choice 1 = column D
    choice 2 = column E
    choice 3 = column F
    choice 4 = column G
    choice 5 = column H
    choice 6 = column I

    start by changing the rank so they all have the same number of digits.
    eg start at 1000 for rank 1 and finish at 2500 for rank 1500.

    If the groups are not numbers then create a list of all unique group names in one column and assign a number to each group name in the adjacent column.

    Unique groups = column J
    Group numbers = column K

    If there is more than 9 different groups start the count at ten. If there is more than 99 start the count at 100 and if there is more than 999 then start the count at 1000. This way the number of digits in each cell will be the same for each group name.
    If the groups are numbers make sure they have the same number of digits in each cell as described above and proceed to ****
    Unique groups = column J
    Group numbers = column K
    columns J and K are likely to be much shorter than the other columns.
    Now in column L you can put the codes in for each person.
    Type
    =vlookup(C1, J$1:K$1500, 2, false)
    into cell L1 and drag down to cell L1500.

    ****Now to sort them into group order:
    in column M merge the group numbers and the rank number together with the preferences
    Group number, rank and preferences = column M
    Type
    =concatenate(L1,B1,D1,F1,G1,H1,I1)*1
    into cell M1 and drag down to cell M1500

    In column N1, type 1, N2, type 2, N3, type 3 and drag down to N1500.

    column N = numbers 1 to 1500 in order

    in column O sort the data so type in O1
    =small(M$1:M$1500,N1) and drag down to O1500

    Column O now holds the data sorted by group then rank then choice 1, then choice 2 etc.
    In column P you want to start counting the choices so
    If your group code is one digit wide (column L), eg 1-9 then
    Type
    =mid(O1,6,1)*1
    into P1 and drag down to cell P1500

    If your group code is two digits wide (column L), eg 1-9 then
    Type
    =mid(O1,7,1)*1
    into P1 and drag down to cell P1500

    If your group code is three digits wide (column L), eg 1-9 then
    Type
    =mid(O1,8,1)*1
    into P1 and drag down to cell P1500

    If your group code is four digits wide (column L), eg 1-9 then
    Type
    =mid(O1,9,1)*1
    into P1 and drag down to cell P1500

    In column Q put the preferences in so
    Type
    1 in Q1, 2 in Q2 etc to 6 in Q6
    In column R put the total allowed for each preference
    so R1 could be 300 say
    R2 could be 12 say
    etc until 50 say in P6

    column Q = preferences
    column R = allowable total

    in column S calculate the totals so type
    =IF(P1>P2, 1, 1)
    in S1

    In S2 type
    =IF(P2=P1,S1+1,1)
    drag this down to S1500

    column S = totals

    In column T, type
    =(Q1&R1)*1 and drag down to T6

    Column T = prefence and total

    in column u1, type
    =(P1&S1)*1 and drag down to u1500

    column u = preference + total

    if this works up till this point I'll do the rest.
    Last edited by Leith Ross; 10-26-2007 at 01:35 PM. Reason: Added Quote tags

  3. #3
    Registered User
    Join Date
    10-25-2007
    Posts
    85
    Well I did all of what you said there, I don't see any errors however I'm also not 100% sure on what I'm looking at to begin with This is far more in depth in excel formulas than I've ever had to go. I'm going to look into the formulas you used and see if I can decipher what's actually going on.

    Ok looking a little closer I seem to be able to get through most of it and make sense out of it until I get to the end, when we use the CONCATENATE command I was wondering why column E wasnt included in that, or was it supposed to be?
    Last edited by Rgaherty; 10-26-2007 at 11:14 AM.

  4. #4
    Registered User
    Join Date
    10-25-2007
    Posts
    6

    column e

    yeah sorry, column e was supposed to be included. I'll do the rest shortly.

  5. #5
    Registered User
    Join Date
    10-25-2007
    Posts
    6

    sample

    I have made a sample sheet and probably changed some of what I originally told you. Took me ages!! ...so hopefully it's useful.

    I have done it for the first two preferences. When the person has selected a choice which takes the total number over the allowed total for that particular preference I have put a "N" in for "Not available" and if the selection is fine I have just copied it down into the summary.

    If look at the names from B1 to B11 and then look along to their preferences for choice 1 and 2, you'll see they tie up nicely with the summary.
    Attached Files Attached Files
    Last edited by carbon; 10-26-2007 at 03:54 PM.

  6. #6
    Registered User
    Join Date
    10-25-2007
    Posts
    6

    error

    spotted a mistake so I've changed it.

    I also put headings in.
    Attached Files Attached Files

  7. #7
    Registered User
    Join Date
    10-25-2007
    Posts
    85
    Well first off thank you, Your sample sheets have proven invaluable to my creation of this sheet but I've run into more issues I have to deal with. Right now I'm testing it with a list of 1500 fake people in 6 fake groups with 6 fake choices. Now the sheet itself needs to accomadate 2000 people 11 groups with up to 11 preference options.

    What I'm having trouble with now is trying to find a way to remove a person from the list once they've secured a choice. Because I also need to have the "caps" on the various preferences being taken down as they are used up. In the current form the cap resets for each choice every time we get into a new preference.

    I think I know a way to make the caps dwindle down appropriately but I may not be able to do it for 11 choices since Excel only allows nesting of 7 functions. As for removing people once they have a choice, I'm not entirely sure how to approach it, everything I think of eventually runs into some kind of snag.

    Here is an example of what I've got...

    It's a rar inside a zip, only way I could make it small enough

    http://www.rarlab.com/download.htm

    If you can't open rar files, my favorite is winrar
    Attached Files Attached Files

  8. #8
    Forum Expert shg's Avatar
    Join Date
    06-20-2007
    Location
    The Great State of Texas
    MS-Off Ver
    2003, 2010
    Posts
    40,678
    I see you used my RANDSEQ function. It cannot reside in a sheet module or the ThisWorkbook module; it needs to go in a code module.

  9. #9
    Registered User
    Join Date
    10-25-2007
    Posts
    85
    Quote Originally Posted by shg
    I see you used my RANDSEQ function. It cannot reside in a sheet module or the ThisWorkbook module; it needs to go in a code module.

    Yea I did try and put it in there, I'll move it over to the proper module on the main sheet. I ended up just using the formula daddylonglegs wrote in another sheet and copying over the values to get the numbers I needed.

  10. #10
    Forum Expert shg's Avatar
    Join Date
    06-20-2007
    Location
    The Great State of Texas
    MS-Off Ver
    2003, 2010
    Posts
    40,678
    I'm joining this late, so I may be completely adrift ...

    Is the objective to allow each person to receive their highest ranked choice, subject to a limit of the number of slots available for each choice, and allowing the higher ranked people to make their selections first? If that's close, is there more to it?

  11. #11
    Registered User
    Join Date
    10-25-2007
    Posts
    85
    That is exactly what it's for actually yea. The limits for each choice can get complicated simply because they need to be divided up by the groups people are in. So for example Choice one will have a seperate limit for each of the groups (call 1 -6) and so on. It is possible for it to get to the point of 11 choices each with 11 groups divided into them. all with their own limits on people allowed in them.

    Right now the sheet doesnt take the group division of the choices into account it's just got the one input for limitations.
    Last edited by Rgaherty; 10-31-2007 at 10:53 AM.

  12. #12
    Registered User
    Join Date
    10-25-2007
    Posts
    85
    There does appear to be a massive flaw in the calculations for saying whether or not somone got something though, as it's currently set up the #1 ranked person should be getting all 6 with no N's but they are not.

    I think I see where it is now, the F-P columns on sheet calc 1. I shouldnt be including the group number in those it's throwing the whole thing off. I also need to find a way for it to accomodate the 10/11 choices since it only seems to work on single digits.
    Last edited by Rgaherty; 10-31-2007 at 11:14 AM.

  13. #13
    Forum Expert shg's Avatar
    Join Date
    06-20-2007
    Location
    The Great State of Texas
    MS-Off Ver
    2003, 2010
    Posts
    40,678
    See if this does what you want. The preferences and slots are random.
    Last edited by shg; 01-07-2009 at 11:45 AM.

  14. #14
    Registered User
    Join Date
    10-25-2007
    Posts
    85
    Quote Originally Posted by shg
    See if this does what you want. The preferences and slots are random.
    That would definitely be the format my final results would need to be in.

    Also in mine I need to divide each preference into the call types each with their own number of slots. People should then be assigned to the slots based on call type, then rank, filling only the slots in that preference designated to that call type. If that makes sense. That is something i hadn't started working on in the example I sent you though.

    The end result would be an empty sheet that somone can just fill in the proper fields for. So they'd input what the call types are, the slot limits for all the preferences based on that and all the agent information like rank, name, call type group, etc etc. And it would sort and output the choices for them.
    Last edited by Rgaherty; 10-31-2007 at 12:49 PM.

  15. #15
    Forum Expert shg's Avatar
    Join Date
    06-20-2007
    Location
    The Great State of Texas
    MS-Off Ver
    2003, 2010
    Posts
    40,678
    There was more than formatting; the spreadsheet makes assignments based on rank, preferences, and the number of slots available for each preference.

    You have an implicit knowledge of the problem that isn't coming across to me, sorry. I don't know what 'call types' refers to, or the relevance of groups, or ranks.

    If you want to start at 10,000 feet and explain the problem from the top down, my ears are open.

  16. #16
    Registered User
    Join Date
    10-25-2007
    Posts
    85
    Ok, I'll see if I can do that. I am getting a series lists that totals up to around 7,000 different people. This 7,000 is going to be split into various amounts, but it shouldnt ever surpass 2,000. Each of this smaller groups will have their own ranks so if one of them was 1500 people they'd be 1-1500 while another place that had 500 would be 1-500. Each of those lists would also have it's own list of available preferences and each person in it would belong to yet another group that describes their specific abilities.

    So with my examples somone from the 1500 group might look like so:

    Rank Name Group2 Pref 1 pref 2 pref 3 pref 4 pref 5 pref 6

    While the one from the 500 group might look like

    Rank name group1 pref 1 pref 2 pref 3 pref 4 pref 5 pref 6 pref 7 pref 8 pref 9

    There will never be more than 2,000 people in a list, there will never be more than 11 preference options for a list and there will never be more than 12 groups in a list. So that's what im trying to build to.

    Now as for the actual sorting. Each preference will be a certain % of the total headcount.

    So for example in a 4 preference list we'll say they each get 25% of the total headcount. Now each of those preferences will further be divided into the groups for that list. So if there are 4 preferences and 4 groups each group might only have access to 25% of that 25%. Now all these headcounts and %'s need to be variables that can be changed by the user inputting the current list. They are never going to be as cut and dry as 25% unfortunately.

    So I want people to be able to go into this blank sheet, set the groups, the %'s for preference/group allocation, then put the list of agents in and have them sorted based on those parameters.

    I don't know if that makes it any clearer, it's a frustrating project.

  17. #17
    Forum Expert shg's Avatar
    Join Date
    06-20-2007
    Location
    The Great State of Texas
    MS-Off Ver
    2003, 2010
    Posts
    40,678
    Still not seeing it -- you backed up to 1,000 feet, but I still need the 10,000 foot view.

    1. Are the groups entirely independent, i.e., can assignments be made within a group without regard for assignments in any other group, so each group is effectively a completely independent problem?

    2. What is the significance of 'groups within groups'?

    3. What is the sparse resource? Does it correspond exactly to the preferences?

    4. Rank determines the order in which people select their highest remaining preference variable?

  18. #18
    Registered User
    Join Date
    10-25-2007
    Posts
    85
    Quote Originally Posted by shg
    Still not seeing it -- you backed up to 1,000 feet, but I still need the 10,000 foot view.

    1. Are the groups entirely independent, i.e., can assignments be made within a group without regard for assignments in any other group, so each group is effectively a completely independent problem?

    2. What is the significance of 'groups within groups'?

    3. What is the sparse resource? Does it correspond exactly to the preferences?

    4. Rank determines the order in which people select their highest remaining preference variable?
    1. Well the groups are independent but only if the limits are sorted by group as well. Which is how they are supposed to be anyway. So if you divide the list of people into their groups and sort them into preferences also divided by groups then it's fine.

    2. Hmm, ok, we'll say these are call center agents, now each person can take a certain type of call, that is their "group" there can be up to 11 of these groups, each person will only be assigned to one. Each person has picked from 1-11 preferences of schedule types. Now each schedule type or "preference" is allotted a certain percentage of the total amount of agents on that list. So if my list was 1000 people, it would split that 1000 Based on the % allotted to that schedule preference. So in my 25% example each preference would have 250 people.

    So I've got a 250 person limit total for each schedule preference. Now, for each of these preferences with 250 people as the limit I have to further divide by the groups or calltypes in that list. So if we had 4 call types we'd take each of those 250's and split it further by another 4 percentages. So in reality you'd be taking a list of agents split into the 4 groups or calltypes and sorting it into the list of preferences also broken into calltypes. Each calltype having it's own limit of how many people are allowed to go into it.

    3. The reason there are limits on it is because we only need so many people working at any given time, so each preference has a limit on how many people are needed in that timespan and is further divided by how many people are needed in that timespan for each group or calltype.

    4. Yes the rank will decide which choice it is they get. so even when split by the calltypes, their rank is still of prime importance.

  19. #19
    Forum Expert shg's Avatar
    Join Date
    06-20-2007
    Location
    The Great State of Texas
    MS-Off Ver
    2003, 2010
    Posts
    40,678
    1. Well the groups are independent but only if the limits are sorted by group as well.
    So is the limits (which are the numbers of people that can be assigned to each schedule, correct?) are allocated proportionately to the top-level division of groups?

    2. Hmm, ok, we'll say these are call center agents, now each person can take a certain type of call, that is their "group" there can be up to 11 of these groups, each person will only be assigned to one. Each person has picked from 1-11 preferences of schedule types.
    I thought the 11 (variable by group, I know) preferences were for schedule; please explain the significance of call type.

    I think I could understand if you would explain the top-level problem. It doesn't need to be true, but it must an exact analogy to the situation, and account for all variables applicable to the assignment. For instance,

    "I have a call center that has to be staffed 24/7. There are varying activity levels by time of day, which means that staffing level must vary accordingly. My agents have varying seniority and varying skills, ..."

    You take it from there.

  20. #20
    Registered User
    Join Date
    10-25-2007
    Posts
    85
    Quote Originally Posted by shg
    So is the limits (which are the numbers of people that can be assigned to each schedule, correct?) are allocated proportionately to the top-level division of groups?


    I thought the 11 (variable by group, I know) preferences were for schedule; please explain the significance of call type.

    I think I could understand if you would explain the top-level problem. It doesn't need to be true, but it must an exact analogy to the situation, and account for all variables applicable to the assignment. For instance,

    "I have a call center that has to be staffed 24/7. There are varying activity levels by time of day, which means that staffing level must vary accordingly. My agents have varying seniority and varying skills, ..."

    You take it from there.
    I have many call centers all open 24/7. There are eleven versions of schedules available for these call centers to use. Each center can use any number of those schedule options to provide coverage for the day to keep the center open. There are varying activity levels over the course of the day and different calltypes that come into the centers. Because of this, the schedule options, depending on what time of day they take place in are only able to have a certain % of the overall staffing. So the afternoon and evening schedules would get a larger allocation than say the overnight or early morning schedules.

    Further into this we have different kinds of calls coming in, also at varying activity levels during the day, every person in a call center has a MAIN call type they take, for schedule assignment purposes we will use this as the group they belong to. Each of these various schedule choices is further split into these main call types. Because while Call type A may be busy in the morning and less in the evening, B is busy in the evening and not in the morning. So A would have a larger percentage of the morning schedules open to it and B would have a larger percentage of the available evening schedules open to it.

    Each center has a different number of agents not surpassing 2,000, up to 11 schedule options and up to 12 call types. But the same principals of sorting apply to all of them.




    Right the limits are the maximum amount of people that can be assigned to a schedule choice. The limit for each schedule choice is divided up into the different calltypes. Each agent is going to just have one call type assigned to them and they should be getting assigned to schedules based on rank and that call type.

    The agents are ranked, they put a choice by all the schedule options, in order of preference. Schedules should be handed out based on the main calltype an agent has and the rank they have.
    So if i've got bob who is ranked number 20 in the entire call center and he's part of call type 6. His rank will only be compared against people also in call type 6, and those people will all only be put into schedules that are designated call type 6.

    Is that what you were looking for?

  21. #21
    Forum Expert shg's Avatar
    Join Date
    06-20-2007
    Location
    The Great State of Texas
    MS-Off Ver
    2003, 2010
    Posts
    40,678
    That's VERY helpful, thank you.

    So the EMPLOYEE parameters are:
    • Employee rank (lower number = higher rank)
    • Employee name (just along for the ride)
    • Major group == call center number that the employee is assigned to
    • Minor group == call type that the employee handles
    • Schedule preferences (the available call center schedule numbers, ranked highest to lowest)
    Then there is a separate table for each call center:
    • The top row contains schedule numbers across 6 to 11 columns (variable by call center)
    • The left column contains the call type (exactly 6 rows?)
    • The body of the table contains the number of schedule slots available in that call center for the given schedule and call type.
    Is that EXACTLY correct so far? Is there anything missing?

    And the assignment process is,
    For each call center
    For each call type
    From highest ranking employee to lowest
    Assign the highest preference schedule slot available for that call center and that call type
    If that's all correct, would you provide a full-sized data set, either dummy data (but statistically reasonable), or actual data with personal info removed?

    The final result should be sorted by call center and employee name?
    Last edited by shg; 10-31-2007 at 07:28 PM.

  22. #22
    Registered User
    Join Date
    10-25-2007
    Posts
    85
    That is the correct sorting process but the data is already seperated by call center at the source, we are getting one sheet from each center with their agents/call types/preference options. So what I'm trying to create is a sheet that any of those sites can take. Input the parameters for their specific site and have it sort them whether it be 10 call types and 4 preferences or 6 preferences and 4 call types. I also need to make the page where the limitations are put in as well as they will change often and this sheet will be used more than just this one time.

    The final output would be sorted by call type and name or rank since we only work with one site worth of data at a time. The sheet i posted further up has the type of data we'd be getting, the tab labeled band info is where the limits are set but I hadnt expanded it into call types yet because I hadn't figured out how to get around the 7 nested function limit of excel.

  23. #23
    Registered User
    Join Date
    10-25-2007
    Posts
    85
    Here's an example of the inputs the user would be putting in. Including the 1500 fake agents I've been working with
    Attached Files Attached Files

  24. #24
    Forum Expert shg's Avatar
    Join Date
    06-20-2007
    Location
    The Great State of Texas
    MS-Off Ver
    2003, 2010
    Posts
    40,678
    Would you walk me through the Preferences tab of the sheet you just posted? It is multiple instances of the data on the Band Info tab of the earlier sheet.

    The data in cells B1, G1, L1, B14, G14, ... comes in from another sheet, but is not used. What's it for?

    What is "Band Info"?
    Last edited by shg; 11-01-2007 at 11:36 AM.

  25. #25
    Registered User
    Join Date
    10-25-2007
    Posts
    85
    The b1 g1 and whatnot were just the group numbers i assigned to the fake calltypes on the original sheet. Because I was using concatenate that number was part of the unique ID each person had. It doesnt really have any bearing on the information there, sorry for the confusion.

    Band info is just another name for the schedule preference options. The FTSR FTM FTD and whatnot are the different schedule choices, we just call them bands. Schedule bands.

    Basically what the preferences does is let the user setup the different limits. The first box is the main one, it has the total amount of slots available divided up by the different preferences available to a site. My fake site has only 6 schedule options, that's what the 123456 is for in that 2nd column. The 3rd column is the total headcount at the top (1500) multiplied by the percentage in the 3rd column.

    So if we take A3 B3 C3 and D3 and go across. FTM is an option for my fake site, the 1 signifies that fact that it is option 1 in the list that agents can put a preference for C3 shows how much of the total allotment is allowed for that schedule option. so in this case 225. D3 is a user defined percentage for that option, so in this case FTM gets 15% of the overall 1500 allowed here which ends up at 225.

    Now all the other boxes are populated based on the number of calltypes available at that site. My fake site has six to choose from. So in that 2nd box starting at F1, it's calltype 1. Since each schedule option is further divided by the calltypes these boxes will contain the limits divided up by group.

    Taking the FTM row again we see that call type 1 agents are allotted 30% of the total FTM slots, giving them 68 spots for that particular schedule option. This continues on with call type 2 call type 3 and so on.

    The far right column is there to make sure there havent been any errors made, if P1 is 0 then all the splits into call types adds up to the total slots allowed for that site and the percentages in the next columns show that you've allotted 100% of the slots into the various calltypes.

    So when I'm trying to assign schedules to agents based on the limits, it would take the agents divide them into their calltype groups then put them up against these limits for each call type here. So all the Call 1 agents would go against the 2nd box, all the call 2 against the 3rd, and so on until they were all assigned.

  26. #26
    Forum Expert shg's Avatar
    Join Date
    06-20-2007
    Location
    The Great State of Texas
    MS-Off Ver
    2003, 2010
    Posts
    40,678
    I changed the layout of the Preferences tab, which seems to me to be more appropriately called "Schedule Availability". Does it still have the information you need?

    Does 67.5 for FTM Call 1 slots mean there are 67 slots or 68 slots available?
    Last edited by shg; 01-07-2009 at 11:45 AM.

  27. #27
    Registered User
    Join Date
    10-25-2007
    Posts
    85
    Yea it doesnt appear to be missing anything. Though I think the maximum amount of preferences is 11 rather than 10, I dont have the name for the last one available to me, so I should've just added one more row to the list. Oh and for the .5 numbers I just rounded them up.

  28. #28
    Forum Expert shg's Avatar
    Join Date
    06-20-2007
    Location
    The Great State of Texas
    MS-Off Ver
    2003, 2010
    Posts
    40,678
    Oh and for the .5 numbers I just rounded them up.
    Not to get down to the trivia level, but the VBA Round function does banker's rounding: 0.5 gets rounded to the nearest even number (0.5 -> 0, 1.5 -> 2). That's different than the worksheet ROUND function, which always rounds 0.5 up.

    Does that matter?

    I'll post another whack at it sometime this evening.

  29. #29
    Registered User
    Join Date
    10-25-2007
    Posts
    85
    Hmm, I think the worksheet round function would end up more accurate in the end but in reality I don't think it's that huge of a deal.

  30. #30
    Forum Expert shg's Avatar
    Join Date
    06-20-2007
    Location
    The Great State of Texas
    MS-Off Ver
    2003, 2010
    Posts
    40,678
    Take a look at this.
    Last edited by shg; 01-07-2009 at 11:45 AM.

  31. #31
    Registered User
    Join Date
    10-25-2007
    Posts
    85
    That is actually perfect, and much less confusing than my attempt with just excel formulae

  32. #32
    Registered User
    Join Date
    10-25-2007
    Posts
    85
    So apparently I was misinformed about the actual parameters that guide how many slots each call type gets. Rather than taking the total site headcount and dividing that up into bands, then dividing those into the types it's supposed to be set up in such a way that the user inputs the headcount for each specific call type then sets the percentage allocations for the schedules available to that calltype.

    Also I tried various ways of cutting and pasting my agent info into the sorting table, since the agents information will be turned in as numbers rather than the actual choices, i couldnt get it to function properly.

    I've attached an example of the form we'll be getting information on, this particular site has 10 schedule options, I'm not positive on the number of calltypes. The only information I planned on taking off of this sheet would be the name/Calltype/preferences/rank. the rest isnt really important as far as the sorting process. But you can see on there that the schedule options themselves are in a fixed location and the agents are just inputting numbers to show order of preference.

    Any help would be much appreciated, I'm in way over my head with this stuff, the sheet ive been working on is up to 162mb in size working purely with excel formulas.
    Attached Files Attached Files

  33. #33
    Forum Expert shg's Avatar
    Join Date
    06-20-2007
    Location
    The Great State of Texas
    MS-Off Ver
    2003, 2010
    Posts
    40,678
    So apparently I was misinformed about the actual parameters that guide how many slots each call type gets. Rather than taking the total site headcount and dividing that up into bands, then dividing those into the types, it's supposed to be set up in such a way that the user inputs the headcount for each specific call type then sets the percentage allocations for the schedules available to that calltype.
    Maybe that actually makes more sense, but,
    it's supposed to be set up in such a way that the user inputs the headcount for each specific call type
    That part doesn't. Each agent has a call type, so when all the info is entered, the number of agents by call type is calculated, not entered--correct?

    1. Can you control the Band Assignment form to be used, so that the info can be extracted from it automatically, or do you want to cut and paste from the Band Assignment form to the assignment spreadsheet?

    2. In particular, why is the rank on a separate sheet from all of the other information? It could be a single added column on the Band Assignment sheet. That, combined with the fact that there are several redundant pieces of info -- name, emp ID, TID, DOH on the Rank tab, is made to order to cause problems if this info is entered on a sparate sheet.

    3. What's the maximum number of bands that should be accommodated? The ones in your example do not cover a 24-hour period.

    4. In allocating call types by schedule bands, what would prompt a supervisor to differentiate between FTSR and PTSR, or FTM and PTM, considering that the actual work times are exactly the same?

    BTW, please let me know if you are intent on a formula-based solution. I can't help with that, but perhaps someone else could.
    Last edited by shg; 11-06-2007 at 12:24 PM.

  34. #34
    Registered User
    Join Date
    10-25-2007
    Posts
    85
    Quote Originally Posted by shg
    Maybe that actually makes more sense, but,
    That part doesn't. Each agent has a call type, so when all the info is entered, the number of agents by call type is calculated, not entered--correct?

    1. Can you control the Band Assignment form to be used, so that the info can be extracted from it automatically, or do you want to cut and paste from the Band Assignment form to the assignment spreadsheet?

    2. In particular, why is the rank on a separate sheet from all of the other information? It could be a single added column on the Band Assignment sheet. That, combined with the fact that there are several redundant pieces of info -- name, emp ID, TID, DOH on the Rank tab, is made to order to cause problems if this info is entered on a sparate sheet.

    3. What's the maximum number of bands that should be accommodated? The ones in your example do not cover a 24-hour period.

    4. In allocating call types by schedule bands, what would prompt a supervisor to differentiate between FTSR and PTSR, or FTM and PTM, considering that the actual work times are exactly the same?

    BTW, please let me know if you are intent on a formula-based solution. I can't help with that, but perhaps someone else could.
    Yes the number of agents per call type could be calculated, that's how I'm doing it in my version actually.

    Unfortunately there are roughly 10 or 11 different versions of that band spreadsheet, it isn't something I created nor can I alter the format. While the general formatting is the same the difference between them all would be the number of Bands. I too wondered why the ranking was put on a seperate page from everything else. But that's the way it has to be unfortunately.

    Basically i envisioned whoever was using the sheet inputting the name, rank, and preferences of the agents and now the percentages for the caps on the bands for each call type.

    There will be 11 bands maximum, not all sites are 24 hours but the largest amount of bands any site has is 11.

    there would be less staffing allocated to the ones beginning with P most likely as that indicates part time, F is full time. So part time schedules may only be allocated 5% of the call type headcount while full time would get 20%. These numbers vary by the way just an example, they need to be something that can be altered by the user.

    I'm not really intent on a formula based solution, I'm running on a deadline so I have to have some form of this operational as soon as I can and formula based is all I know how to do. It's slow running and excessively large so not really Ideal in the end. Call it a backup plan. I'd much rather be an expert in VBA but it's not something I've started to learn yet

  35. #35
    Forum Expert shg's Avatar
    Join Date
    06-20-2007
    Location
    The Great State of Texas
    MS-Off Ver
    2003, 2010
    Posts
    40,678
    Try this ...
    Attached Files Attached Files

  36. #36
    Registered User
    Join Date
    10-25-2007
    Posts
    85
    Yep that's exactly what I needed, far quicker to deal with than my monster spreadsheet too. Thank you very much, about that case of scotch lol...

+ Reply to Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Search Engine Friendly URLs by vBSEO 3.6.0 RC 1