Custom MS Project filters let you isolate the tasks or resources that require attention without changing the underlying schedule. You can use them to find incomplete near-critical tasks, review a delivery workstream, prepare a status meeting or focus a schedule quality check.
To create one, open the View tab, select the arrow next to Filter, choose More Filters, select either Task or Resource, and choose New. You then define each condition through the Field Name, Test and Value(s) columns.
The mechanics are simple. However, a useful filter depends on clear selection logic, reliable schedule fields and deliberate testing.
What MS Project Filters Actually Do
A filter controls which rows appear in the current view. It does not delete tasks, change dates, recalculate logic or modify the baseline. Therefore, filtering is primarily a review and presentation function.
Microsoft identifies three filtering methods in Project:
- Predefined filters: Built-in selections such as Critical, Milestones and Incomplete Tasks.
- Custom filters: Named filters that use criteria you define and save.
- AutoFilters: Column-level filters accessed through arrows in sheet view headings.
Use a predefined filter when it already answers the question. Use an AutoFilter for a quick, temporary review of one or two columns. Build a custom filter when the selection logic will be reused, shared or applied during a recurring business process.
Task and resource filters are separate. A task filter works in task views, while a resource filter works in resource views. Selecting the wrong type is a common reason a saved filter does not appear where expected.
How to Create a Custom Filter in Microsoft Project
- Open a task or resource view that contains the records you want to evaluate.
- Select the View tab.
- In the Data group, open the Filter list and select More Filters.
- Select Task or Resource.
- Choose New.
- Enter a descriptive filter name.
- Select Show in menu if users should see the filter in the main Filter list.
- Define the Field Name, Test and Value(s) for the first criterion.
- Insert additional rows and connect them with And or Or.
- Choose whether Project should show related summary rows.
- Save the filter, apply it and validate the results.
Microsoft also allows users and developers to create, edit or copy filters programmatically. The documented Project FilterEdit method exposes the same core elements, including field names, tests, values, logical operations and summary-task behavior.
How the Filter Definition Grid Works
Field Name
The Field Name identifies the task or resource field that Project will test. Common task choices include Critical, Milestone, Summary, Active, % Complete, Total Slack, Finish and custom Flag fields.
Choose a field that directly represents the condition whenever possible. For example, use the built-in Milestone field instead of searching task names for the word “milestone.” The structured field is more reliable because naming conventions can vary.
Test
The Test defines the comparison. Available tests depend on the selected field type. Typical options include:
- Equals or does not equal
- Is greater than or is less than
- Is greater than or equal to
- Is less than or equal to
- Contains or does not contain
- Is within or is not within
Match the test to the data type. Use Contains for text searches, for example. Use numeric or date comparisons for duration, slack, cost and date fields.
Value(s)
The Value(s) column contains the comparison target. Depending on the field, the value may be Yes or No, a percentage, a date, a duration such as 10d, or a text string.
For text fields, Microsoft Project supports wildcard searches with certain tests. A question mark represents one character, while an asterisk represents any number of characters. Wildcards belong in text criteria, not numeric fields such as Duration.
And, Or and grouped criteria
And narrows the output because every connected condition must be true. Or expands it because either condition may be true.
Mixed And/Or logic requires care. Project supports grouping criteria by inserting a blank row and defining the relationship between groups. However, complex filters become difficult to review quickly. When the business rule requires several nested conditions, consider calculating the result in a helper Flag field and filtering on that flag instead.
The related guide on creating custom fields in Microsoft Project explains how to establish fields that support repeatable schedule reviews.
Example: Find Incomplete Near-Critical Tasks
Assume the fictional Sentinel Communications program defines near-critical work as incomplete detail tasks with 10 working days or less of Total Slack. That threshold is a program control convention, not a universal contractual requirement.
Create a task filter named NP – Near-Critical Incomplete Detail Tasks with these criteria:
- Summary equals No
- And Active equals Yes
- And % Complete is less than 100%
- And Total Slack is less than or equal to 10d
The Summary criterion removes rolled-up summary records. Active excludes inactive tasks. The completion criterion limits the result to remaining work. Finally, the Total Slack criterion isolates tasks within the program’s monitoring threshold.
This filter can support a weekly Integrated Master Schedule (IMS) review. However, it does not replace path analysis. The scheduler still needs to examine logic, constraints, calendars, status and the effect on key milestones. For a broader process, see how to perform critical path analysis in an IMS.
Also confirm that the schedule’s critical-task calculation and slack values reflect the intended Project settings. If the review focuses only on zero-slack critical work, the built-in Critical filter may be sufficient. The article on displaying the critical path in Microsoft Project covers that narrower use case.
Example: Filter a Controlled Delivery Workstream
Suppose the Sentinel program must review open tasks associated with a customer delivery. Task names alone do not reliably identify the scope because several teams use different naming conventions.
First, assign a governed custom field such as Flag1 to the delivery population. Rename the field to Customer Delivery Scope and set it to Yes only for approved detail tasks. Then create this filter:
- Summary equals No
- And Customer Delivery Scope equals Yes
- And % Complete is less than 100%
This approach separates classification from presentation. The custom field identifies controlled scope, while the filter selects the records needed for the review.
However, the field needs an owner and a defined maintenance process. Otherwise, the filter may execute correctly while returning an incomplete population. That failure can be more dangerous than an obvious formula error.
Custom Filters Versus AutoFilters
AutoFilters are useful for fast investigation. To display them, open the Filter list on the View tab and select Display AutoFilter. Project then adds selection arrows to the columns in a sheet view.
You can filter one column and then add conditions through other columns. However, an AutoFilter can operate in addition to an existing predefined or custom filter. As a result, rows may remain hidden even after you clear one column’s selection.
Use a named custom filter when:
- The same selection supports every status cycle.
- Multiple schedulers must apply consistent criteria.
- The output supports a formal review or recurring report.
- The filter contains several related conditions.
- The selection logic needs to be inspected or documented.
Use an AutoFilter when:
- You need a quick, temporary selection.
- You are investigating one field or a small set of fields.
- You do not need to preserve the criteria as a repeatable control.
Project can also highlight filtered records instead of hiding everything else. Highlighting often works better during schedule discussions because reviewers retain the surrounding context and summary structure.
How to Test a Custom Filter
Do not assume a saved filter is correct because Project accepts the definition. Test both records that should appear and records that should not.
- Start with one condition. Apply it and confirm the expected population.
- Add one row at a time. Reapply the filter after each change.
- Check boundary values. For a 10-day slack threshold, inspect tasks at 9d, 10d and 11d.
- Review summary behavior. Decide whether the output needs summary rows for orientation.
- Check inactive and completed tasks. Include or exclude them intentionally.
- Clear other filters. Select No Filter or press F3 before troubleshooting unexpected results.
- Validate the source fields. A filter cannot correct missing flags, inconsistent names or incorrect status.
Also consider the identifier used during validation. Task ID can change when users insert, delete or move tasks. Unique ID is more stable within the project file. See Microsoft Project Unique ID versus Task ID before using filtered task lists for reconciliation or issue tracking.
Useful Filters for Program Controls
A scheduler can build a small library of filters aligned with actual review processes. Useful examples include:
- Incomplete tasks with negative Total Slack
- Open milestones due within a defined reporting window
- Detail tasks assigned to a specific control account
- Tasks with a hard constraint and incomplete work
- High-duration activities within delivery scope
- Open tasks with missing responsible organizations
- Completed tasks with finish variance above a review threshold
- Tasks selected for a proposal basis-of-schedule review
For variance analysis, first understand which Project fields support the comparison. The guide to calculating Finish Variance in Microsoft Project explains the relationship between current and baseline finish dates.
Similarly, a duplicate-name filter or text search may identify candidates, but it will not determine whether duplicate names represent an actual schedule quality problem. Use the process in finding duplicate task names in Microsoft Project to interpret the results.
Common Filter Mistakes
- Editing a built-in filter without preserving the original. Create a new filter or copy an existing one when possible.
- Using Or where And is required. This can return a much larger population than intended.
- Forgetting an existing AutoFilter. Multiple active conditions can hide valid records.
- Filtering task names instead of governed fields. Text conventions often drift between teams.
- Using a fixed date without updating it. Include the reporting date in the filter name if the criterion changes by status cycle.
- Confusing a task filter with a resource filter. Each filter type appears only in compatible views.
- Assuming hidden tasks no longer affect calculations. Filters change the display, not the network or resource calculations.
- Treating filtered output as proof of compliance. A filter is a software configuration, not a contractual requirement or schedule health conclusion.
Managing and Sharing Custom Filters
Use consistent names so users can distinguish program filters from Microsoft’s built-in filters. A short prefix such as NP –, IMS – or a program abbreviation keeps related filters together in the list.
Filter availability can also depend on whether the object resides in the project file or the global template. Microsoft documents the Organizer as the tool for managing filters and other Project objects. The Global.mpt behavior can vary with configuration, so verify where the filter resides before distributing a schedule or workstation procedure.
For recurring program use, document the filter name, purpose, field dependencies, threshold owner and expected output. Also test the filter after changes to custom fields, calendars, schedule options or status procedures.
Frequently Asked Questions
How do I remove all active filters?
Select No Filter from the Filter list. Microsoft also documents F3 as a quick way to remove active filtering.
Why are summary tasks missing from my filtered view?
The filter may exclude Summary equals Yes records, or the option to show related summary rows may be disabled. Edit the filter and select the summary-row option when reviewers need WBS context.
Can I combine a custom filter with an AutoFilter?
Yes. However, the conditions stack. Clear the AutoFilter or the named filter when the combined result is not intentional.
Does a custom filter change the Integrated Master Schedule?
No. It changes which rows are displayed. It does not change task logic, dates, progress, resources or baselines.
Should a filter use Task ID or Unique ID?
Either field can be selected, but Task ID changes as the task order changes. Unique ID is usually safer for persistent references within the same project file. Neither should replace a governed work breakdown structure or control-account coding scheme.
Build Filters Around Decisions, Not Just Data
The best MS Project filters answer a defined management question. Start with the decision or review process, identify the fields that represent the required population, and then build the simplest criteria that produce a dependable result.
Finally, validate the output against known tasks. A technically valid filter can still mislead reviewers when its source fields are incomplete or its thresholds are unclear. Treat filters as controlled review tools, especially when they support status meetings, customer delivery or IMS quality assessments.

