Show each person only their own items in a SharePoint list view
Short answer: edit the view, open Filters in the classic view editor, and set a Person column equal to [Me]. [Me] does not work from the column header filter menu, so the classic editor is the only place to set it.
Each person who opens that view sees only the rows that name them. A view is a display choice, not a lock. Anyone with access to the list can open another view and see every row.
What this page covers
This page is about views only. A view changes what a person sees first. It does not change who is allowed to read the data. If you need items to stay hidden from other people, read "Let each person see only their own items in a SharePoint list". That guide covers real item-level security. This one covers the friendly "My items" view that makes a busy list easy to use.
Use a view when privacy is not the point. For example, a team shares a Requests list, and each person wants to see the work assigned to them without scrolling past everyone else's rows.
The rule that trips people up
The [Me] filter works on Person columns. A Person column holds a name from your organization. Created By and Modified By are Person columns that SharePoint adds to every list. A plain text column does not work, even if it holds a person's name or email address. A Choice column does not work either.
Microsoft Support says "[Me] operates on people-based columns such as Created by, or Modified by." It lists "Person or Group (single value)" as supported and "Person or Group (multi-valued)" as unsupported. It also says "It is not possible to use the [Today] or [Me] filters when filtering using a column header." and "You must use the classic view editor to filter columns using these keywords." See "Use filtering to modify a SharePoint view" in the sources.
Worked example: a Requests list
Here is a small Requests list. It has these columns:
- Title (the short name of the request. This column is required by default. You can rename it or turn off Require.)
- Assigned to (a Person column)
- Status (a Choice column with the choices 1 New, 2 In progress, 3 Done)
The number prefixes keep the choices in the right order when you sort. Without them, SharePoint sorts the words by letter, and Done lands before New.
The goal: every person gets a view called "My requests" that shows only the open requests assigned to them.
Step 1. Check the column type
Open the list and look at the Assigned to column. If it shows small profile pictures or names with a person icon, it is a Person column. If it shows plain text, it is not.
If the column is text, do not try to change it in place. Changing a column type can lose data, and SharePoint may not offer Person as a choice for a text column. One way to start is to add a new column:
- In the list, select Add column.
- Choose Person.
- Name it "Assigned to (person)".
- Copy the names into the new column. Test a paste in grid view on one row first.
- When the new column looks right, hide or delete the old one.
Menu names may differ on your screen.
Step 2. Build the view in the classic view editor
- Open the list.
- Select the view name at the top right, then choose Save view as. Name it "My requests."
- Select the view name again and choose Edit current view. This opens the classic view editor.
- Scroll down to Filters.
- Choose "Show items only when the following is true."
- Set the first statement: Assigned to (person) is equal to [Me].
- Select OK.
Microsoft Support describes these steps in "Use filtering to modify a SharePoint view". Exact names may differ in your tenant, so follow the help page if a label looks different.
Type [Me] exactly as shown, with the square brackets. Now every person who opens this view sees only the rows where Assigned to is their own name.
Step 3. Hide the finished work
Add a second statement in the same classic editor:
- Under the first statement, choose And.
- Set: Status is not equal to 3 Done.
- Select OK.
Our advice, not a Microsoft rule: use the classic view editor for "is not equal to" filters too. Do not try to build it from a column heading. The view now shows open requests assigned to the person who opens it.
Step 4. Test with two people
Ask a coworker to open the list and choose "My requests." Compare what they see to what you see. You should see different rows. If you both see the same rows, or one of you sees nothing, go to the diagnosis section below.
Do this test before you tell the whole team. A view that shows nothing is the problem to watch for.
What if the person who made the item is the one you want to filter on
Sometimes the list has no Assigned to column. You want each person to see the items they submitted. SharePoint already gives you that. Created By records who made each item. It is a Person column, so you can filter it:
- Created By is equal to [Me]
Microsoft Support says you can connect Created By and Modified By statements with Or to see items you made and items you last changed. Put the Or statements first, then the And statements.
If someone else enters items for a person, such as an assistant, Created By holds the assistant's name. For that case you need a separate Person column.
What if the name sits in a text column
Say an import filled a text column with names or emails. [Me] will not read it. A Microsoft Q&A answer says the [Me] filter works only with Person or Group columns, and that a calculated column cannot read the person who is logged in.
For new items, a small flow can fill the Person column from the text column. Keep it small:
- Use the trigger "When an item is created."
- Add an "Update item" action.
- In the Person column field, put the email from the text column. Test it, because names that are not email addresses may not match.
If your flow also reads many rows with a Get items action, set Top Count and turn on Pagination. The default returns only 100 rows, so a longer list is cut off without a warning. This simple flow does not need Get items, so you may not need that setting.
Test it with a new item and a second account.
Diagnosis: my view shows nothing
Work through these in order. Each one is a possible cause.
- The column is not a Person column. Check the column type, as in Step 1.
- The filter was set from a column header. [Me] is not available there. Open Edit current view and look under Filters.
- The column is empty on the rows. SharePoint filters have no "is blank" operator, so find blanks by sorting the column. A row with a blank Assigned to never matches [Me]. Open the full list and look for blanks.
- The name does not match the signed-in account. The Person column must hold the same person who signs in. A shared mailbox or a former employee will not match.
- The Person column allows multiple people. Microsoft Support lists multi-valued Person or Group columns as unsupported for [Me]. Use a single-value Person column.
- The column holds a group. A Person column can hold a group. Our advice, not a Microsoft rule: do not count on [Me] to match the members of a group. Use individual names for the column you filter.
- Your Microsoft 365 language is not English. The English word [Me] may not match in a SharePoint set to another language, as a Microsoft Q&A answer describes for Swedish. If you work in another language, look up the word your version uses.
- The list is large. Microsoft Support says lists over the List View Threshold of 5,000 items filter faster when the first column in the filter is indexed. See "SharePoint list over 5,000 items: what breaks and the fix".
What to avoid
- Do not call this security. A view only changes what shows by default. Say so on the page where you share it. Anyone who has access to the list can switch to All items.
- Do not filter on a text column and expect [Me] to work.
- Do not build the filter from a column heading. Microsoft says filters with [Today] or [Me] need the classic view editor (Edit current view, then Filters). Our advice, not a Microsoft rule: use the classic view editor for blank and "is not equal to" filters too.
- Do not use a Choice column for names. A list of 20 names in a Choice column is hard to keep current.
- Do not store private data in a list that everyone can read, just because you made a "My items" view.
- Do not skip the two-person test.
Honest limits
A [Me] view shows rows to the person in a Person column. It cannot keep other people out of the data. It does not help if one person needs to see a team's rows, because the view is tied to the person who opens it. It works best when each row names one person.
Also, the default view of a list is shared. If you change it, you change it for everyone. Create a new view for "My requests" and leave the default alone. Share the link to the new view so people can bookmark it.
For a RACI-style list with more than one Person column, see "RACI chart in Microsoft 365: a simple list version". For hiding a column from some people, see "Keep one column private (like pay or notes) in a shared list".
When to get help
You can build all of this yourself in Microsoft 365. If you would rather have it built and tested for your team, I do that. A tracker like this is a fixed price: $5,000 for one, built in 2 weeks. See "What a SharePoint tracker costs to build". Bring one example of the problem to a free call.
I am Al Davies. I run 250 High Street LLC and build SharePoint trackers and Power Automate flows for operations teams. I work remotely. The first call is free, and I will not try to sell you anything.
See trackers I built: Tools I built
FAQ
Why does [Me] not show up in the column heading filter?
Microsoft Support says "It is not possible to use the [Today] or [Me] filters when filtering using a column header." Select the view name, choose Edit current view, then go to Filters.
Can I filter by the current user's email address?
No. The [Me] filter works on Person columns, not on a text column that holds email addresses. Add a Person column and copy the names in, or use a flow that fills a Person column when an item is created.
Is a "My items" view private?
No. It is a display choice. Anyone with access to the list can open another view and see every row. For real privacy, see "Let each person see only their own items in a SharePoint list".
How do I filter a view by today's date?
In the classic view editor, set a date column to a statement with [Today]. Microsoft Support says "The [Today] keyword works on date-based columns." and it also cannot be used from a column header.
Why does my [Me] view show nothing?
Check that the column is a single-value Person column, that the filter was set in the classic view editor, and that the rows are not blank. See the diagnosis section above.
Sources
- Microsoft Support, Use filtering to modify a SharePoint view
- Microsoft Q&A, How to filter SharePoint list for current user without using People or Group column
- Microsoft Q&A, SharePoint Online view filter [Me] not working