Quick Links

Use Hidden Functions in Project’s Assign Resources Window

-28404Most Microsoft Project users know that the Assign Resources window is one of many ways to assign a resource to a task. But did you know that the Assign Resources window can also be used to assign multiple resources to multiple tasks, compare assignments across multiple tasks and re-align assignments across multiple tasks? Read on to learn how.

Assigning Resources to Multiple Tasks

Assume there’s a schedule in which four new resources need to be added to multiple existing tasks. These additions can complete one task at a time, which is tedious. But the quick way is to add all four resources to the existing tasks at the same time using the Assign Resources window.

To accomplish this, open a task view such as the Task Usage view used in these examples. In the Resource ribbon, click the Assign Resources icon. After the Assign Resources window opens, select multiple tasks in the view. In the figure below, tasks 1, 3 and 5 have been selected.


Then, in the Assign Resources window, select all the resources to be assigned to the selected tasks. This is done by Ctrl-clicking the resource names in the resources list. Finally, click the Assign button. All selected resources are now assigned to each of the selected tasks with one click!

In the next figure, Bob, Evan, Jack and Janice must to be added to Tasks 1, 3 and 5. After selecting the tasks and resources, the Assign button is clicked. In one operation, the selected resources are now assigned to the selected tasks at their default (Max Units) value.


But what if the resource assignments need an Assignment Units value different from the Max Units?

The Assign Resources window can still be used. But instead of selecting resources and clicking the Assign button, enter the Units value for each resource. When a value is entered, the resource is assigned to all selected tasks the same as if the Assign button was clicked. For example, to assign Bob at 50 percent, simply enter 50% into Bob’s Units field. Entering a value of 35% into Evan’s Units field assigns Evan at 35 percent. And so on.

Comparing Task Assignments

Assume a schedule contains multiple operational type tasks and these tasks need to have the same 20, 50 or more resources assigned to them. Over time, due to on-going maintenance, it’s not uncommon for the resource assignments on these tasks to get out of sync. Is Bob on all tasks? From which task is Judy missing? Is Jack allocated with the same Units value on each task? Unfortunately, manually comparing all the task and assigned resources can be time consuming and laborious.

This is where the Assign Resources window can help by automatically identifying assignment discrepancies across selected tasks.

Let’s start with something simple. In the figure below, only Task 1 has been selected. Note the “Task: Task 1” indicator at the top of the Assign Resources window. The Assign Resources window contains a resource list that’s now divided into two parts. Assigned (checked) resources appear in alphabetical order at the top of the resource list. For these resources the Units (Assignment Units) and Cost values appear. Unassigned (unchecked) resources appear after the assigned resources.


When multiple tasks are selected, the Assign Resources window will show inconsistencies among the selected tasks. In the figure below, Tasks 1 and 3 have been selected. This is indicated in the Assign Resources window by the “Multiple tasks selected (1,3)”.

As expected, the assigned resources appear at the top of the resource list. But some interesting inconsistency indicators now appear. Looking at Bob, a black check appears next to his name, meaning Bob is assigned to both tasks. However his Units value is not the same on both tasks so that value displays as “- -“. Janet and Judy now appeared within the top of the Resource list. But their checks are gray, meaning they are assigned to at least one of the selected tasks but not all of them. And because they’re not on all selected tasks, their R/D, Units, and Cost values also display as “- -“. In short, gray checks and “- -” indicators indicate inconsistencies. Now that the problems are known, let’s see how to fix them.


Aligning Resource Assignments

Continuing the example, the Assign Resources window can be used to correct or align resource assignments. This is illustrated in the figure below. By selecting Janet and Judy in the Assign Resources window and clicking the Assign button, Project will add the selected resources to only the tasks on which they are not currently assigned. In this case, Janet and Judy are already assigned to Task 3, so Project adds them to Task 1. After the assignment, the Assign Resources window now shows Janet and Judy with black checks and their Units and Cost fields now display a value. This indicates that Janet and Judy are now assigned to all selected tasks with the same Units and Cost value.

Note, even if all checked resources were selected and the Assign button clicked, the result would be the same. Only Janet and Judy would have been added to Task 1 because all of the other selected resources are already assigned to the selected tasks.


Looking at the Assign Resource window in the figure above, it is now apparent that Bob is the only remaining resource not assigned consistently across the selected tasks because his Units field is showing a “- -” value. This can be verified by looking at Bob’s Assignment Units for Task 1 (100%) and Task 3 (85%).

As the final step in re-aligning tasks, the Assign Resources window can be used to correct Bob’s inconsistent Assignment Units. In the Assign Resources window, simply enter the desired value in the Units field. In the figure below, a value of 65% was entered in Bob’s Units field. Both Task 1 and Task 3 changed accordingly.


After this final adjustment, it’s apparent that all resources on all selected tasks are aligned because the Assign Resources window displays black checks for all assigned resources and all assigned resources display a value in the Units and Cost column. Now that was simple!

One final word, before you get too excited about these new found capabilities. These functions only work when comparing tasks and resource assignments within the same schedule.

Have your own Assign Resources tricks? Share them in the comments below.

Image Source

Written by Daryl Deffler

Daryl Deffler is currently employed by a large insurance company where he provides project management, project scheduling tool, process, and standards consulting for an enterprise project management office comprised of about 200 project managers. He has over 25 years in the IT project management field with experience managing small projects to large programs. During this time he has also developed and taught classes in both project management and scheduling tools such as Microsoft Project 2013, Primavera and ABT Workbench. He has been employed in the IT industry since 1979 in additional roles, including software development, technical support and management across mainframe, midrange and PC platforms.

Share This Post
  1. Daryl, thank you for these insights into identifying and resolving inconsistencies and errors of resource assignments across project tasks. Had I known this last week, I estimate I could have saved a good two – four hours in reviewing task assignments on release planning across several sprints. Now I know!

  2. Hi Daryl
    I am having trouble when I am assigning multiple resources to one task.
    When I assign the labour to each task I generally want it done ASAP with the assigned labour. The problem is that if 1 of the resources has been assigned to a different task within the duration of the longer task it still splits the hrs evenly between the 2 resources. This extends the duration of the task as it makes sure that the both resources have completed the same amount of hrs. You can change this manually by calculating the hrs each would have to do to make the task finish with both resources, is there a way that project can automatically assign the 2 resources hrs so that if required 1 resource will do more hrs on the task than the other to get the task completed ASAP.

    Thanks so much your help would be fantastic.

  3. Adam;
    The first part of your scenario sounds like you have the Effort Driven flag checked on the task. This flag basically says that when you assign hours at the task level, Project will split the hours evenly across the assigned resources. So if you had Task 1 as Effort Driven and Resource A and Resource B both assigned at 100%, assigning 100 hours at the Task 1 level would result in Resources A and B both getting an even distribution of hours, in this case 50 hours each.

    To answer your question, there is no way in Project that the tool will take into account a second task allocation when assigning hours on a first task. Meaning In the Task 1 example above, there is no way to have project take into account that Resource B is also assigned 100% on Task 2 and therefore adjust Resource B’s hours allocation on Task 1.
    The Scheduling component within Project is task by task. The Leveling component compares tasks and will delay tasks to resolve over allocations, but it also will not change hours allocations for assigned resources.

    Unfortunately, if you want to do what you’re asking, it’s a manual process. But there are different approaches.
    1) If you are using Effort Driven, changing the Units assignment on one of the assigned resources will decrease the amount of work assigned when the Task level Work estimate is entered. (You have to change the Task level estimate for the calculation to occur) So in my Task 1 scenario, if Resource A is 100% and B is 50% and the Task Work is entered as 100, A will get about 66 hours and B will get about 33. (100% + 50% = 150% and A is allocated 100% or 2/3 of the total of 150% and B is allocated 50% or 1/3 of the total)
    2) If you are not using effort driven tasks, you can do option 1 above, but manually. You would have to look at how much work is assigned to Resource B on Task 1, and how much work is assigned on Task 2 (and when Task 2 needs to start), and also decide if it’s OK for Resource B to be working on Task 1 and 2 in parallel. If they can run in parallel, you can split the Units allocation on Task 1 and 2 for Resource B so that combined they don’t exceed 100% (or whatever his Max Units are) and then allocate hours in Task 1 accordingly. If they can’t run in parallel, its the same basic process, except both tasks have Resource B assigned at 100% Units and now you need to figure out how many hours to assign to Resource B on Task 1 so that Resource B work on Task 1 ends before Resource B must start Task 2.
    Either way, it’s a manual process.

    Unfortunately, the down side of this manual process is that if there are other predecessors of Task 2 that delay Task 2 or allow it to start earlier, you have to do the whole manual calculation process all over again.

    Ultimately, Project is a scheduling tool so if possible, you want to set up the tasks/options so that the tool does all the work. One additional thing you could try.
    Change the Priority of the second task (Task 2 in my example) to something higher than 500. Change the Leveling Order to “Priority,Standard”. And make sure the Leveling option “Leveling can create splits in remaining work” is checked. This scenario will cause the second task to take precedence in Leveling but it should also allow leveling to split the remaining work on Task 1. So you might see Task 1 starting on Day1, Resource B works for 5 days, then there’s a gap in Resource B on Task 1 while Resource B works on Task 2, and then work starts again on Task 1 when Task 2 is completed.
    The downside is that Task 1 duration will still be elongated for the duration of Task 2, unless you manually figure how to balance the work on Task 1 so that Resources A and B finish at the same time with Resource B being diverted to work on Task 2 at the same time.

    I hope this helps

  4. Hi Daryl

    Is this possible? I have a pool of people dedicated to the project, with two distinct skills, I wish to find the 1st available person with S1 and the 1st available person with S2, and assign them to the particular task, Each task needs 1 of each skill. I don’t want to keep shuffling people around until I find the right combination that allows me to accomplish the work in the shortest calendar time

    Is this possible?

  5. Leo;
    I don’t know of any specific Project functionality that will do what you are asking, automatically. As a starting point, I might try this approach:
    * Using one of the provided resource customizable text fields, I would add the skill to each resource in your pool. So each resource has S1 or S2 assigned.
    * I would open a resource usage view and group the view based on the Skill field. As a result, you’d have a summary row showing total planned work for all S1 resources and a summary row for S2 resources…as well as a summary row of planned work for each resource in the group.
    * I would then visually scan the skill level summary rows to identify when both S1 and S2 resources have availability at the same time to perform the task. For example, if there are three S1 resources at 40 hours per week, if all three are booked, I’d expect to see 120 planned hours at the week level. When I see a week at say 80 hours, that indicates one S1 resource is available for 40 hours that week. Which one is now simply scanning down the list of S1 resources in the same week. You’d do the same process for S2 resources looking at that group as well.

    I don’t know if that helps, but not knowing much about the project, the type of work, the estimates (is S1 90% of work and S2 10%?), it’s hard to provide an optimum recommendation. But maybe this is a good starting point for experimenting.

  6. Hi Daryl,

    I am working on a “resource” project where I am trying to schedule about 120 jobs thru the shop. I do not have technician selection, or full shop capacity for my jobs. Based on predicted allowances I have figured that I will have 95 hours in Jan, 391 hours in Feb and 387 in March. I converted these to resource availability % by dividing hours by 40 and multiplying by 100 to get %. (120, 244, 242) and entered these in for resource called shop. When I check % work allocated, the graph shows about 83% vs the expected 100%. If I change my resource availability to 100 or 200% my % work allocated will use all available hours. Is there a way to use my percentages and get 100% work allocation? Have I missed a setting?



  7. oops I found a conversion issue. The person hours to percent is not as stated. Using the stated percentages should still let MS Project utilize the resources to the full percentage listed instead of 83% of the stated amount

  8. I have a project where each task has 3-4 people allocated to it, each person has a different number of hours allocated to the task, between 10 – 40 hours. Their input is all concurrent. Each person also has a different number of hours that they are available each week. How do I reflect this when assigning resources please? Any help would be appreciated.

  9. Varying availability for each resource can be represented two ways. If you are using Project in a stand alone mode (not server), then you can easily adjust the project’s resource calendar to reflect their available work hours per day/week. With this configuration, resources can be assigned at 100% to their tasks and the calendar will drive how much work can be accomplished each week and when it will occur.
    If you are in a server environment where enterprise resources are being used in your project, you typically won’t have availability to adjust individual resource calendars as this would impact ALL projects using these resources. In this scenario, you need to adjust the resource assignment units at the task/resource assignment level. For example, Enterprise resource Bob is available at 40 hours per week in his enterprise level calendar. Bob’s Max Units value will default to 100%, meaning he can work 40 hours per week. When Bob is assigned to a task, the assignment units will default to Bob’s Max Units, or in this example, 100%. However, lets say bob is only available 10 hours per week to work on this project. In this case, the task assignment units would be changed from 100% to 25% (40×25%=10).

    A couple footnotes around the Server solution.
    Bob’s Max Units at the resource level remains at 100% even though his task level assignment is at 25%. If there are no dependency relationships to spread Bob’s individual tasks, MS Project might end up scheduling Bob with up to 4 concurrent/parallel tasks (25%x4=100%) and he could still end up scheduled at 40 hours per week. Meaning; The leveling engine schedules task 1 for Bob at 10 hours per week. When task two is being scheduled, it looks at Bobs Max Units compared to what Bob is currently scheduled. In this case Bob still has 75% or 30 hours available in the week (due to the enterprise Max Units). If there are no dependency constraints, MS Project will look for additional tasks to fill that 30 hours per week. If Task 2 is assigned to Bob at 10 hours per week and there are no dependencies between Task 1 and Task 2, Project will slot Task 2 to run in parallel with Task 1…because Bob has availability. The only way around this is to establish dependency relationships.
    Second, Bob’s time can’t be specifically scheduled in this scenario. He has 10 hours of availability across the entire week and that’s how the time will be scheduled. If you need that time to occur on specific days, a task calendar would need to be used. However, that would mean ALL resources assigned to that task can only work on those days.


Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

1 + 1 =

Thanks for submitting your comment!