# How to Use Lookup Columns and Connected Web Parts in SharePoint

> Link a SharePoint library to a list with a lookup column, then connect web parts so picking a client on a page filters its documents. Steps and limits.

- URL: https://www.danielanderson.io/articles/sharepoint-lookup-columns/
- Author: Daniel Anderson, Microsoft MVP (https://www.danielanderson.io/)
- Published: 2023-12-30
- Updated: 2026-10-26
- Video: https://www.youtube.com/watch?v=rmiKhIsxXUQ

## Key takeaways

- A lookup column takes its values from a column in another list on the same site, so a library of invoices or contracts can be tagged from one master list of vendors or clients.
- To create one, select Add column in the library, choose Lookup, pick the source list and the column to show, and use More options to bring across extra fields from the source.
- Dynamic filtering on a List or Document library web part connects it to a list on the same page: select an item in the list and the library shows only the documents tagged with it.
- The filtered library's view has to include the lookup column, or the connection has nothing to filter on.
- By default a view can't use more than 12 lookup-type columns, and lookup, Person or Group and workflow status columns all count towards that limit.

To link a SharePoint document library to a list, add a lookup column to the library that takes its values from a column in the list. Then put both on a page, turn on **Dynamic filtering** on the library's web part, and selecting an item in the list filters the library to the documents tagged with it.

In my demo I used an invoices library and a master list of vendors. Each invoice gets tagged with a vendor from the list, and a Vendor Portal page shows paid and rejected invoices side by side, filtered to whichever vendor you click. It's all built in the SharePoint interface, with no code or Power Automate.

## Before you start

- **Both the list and the library on the same site.** Microsoft's [lookup column guidance](https://support.microsoft.com/en-US/SharePoint/lists/data-and-lists/create-list-relationships-by-using-lookup-columns) says lookup columns should be created and used within the same site.
- **Permission to change the library.** You need to be able to add columns and create views. Turning on relationship enforcement (restrict or cascade delete) needs Manage Lists permission.
- **A source column of a supported type.** The column you look up can be single line of text, number, date and time, or a single-value lookup. Choice, person, yes/no, currency, hyperlink, calculated and multiple lines of text can't be used as the source.
- **New to library columns?** Start with [adding metadata columns to a SharePoint library](https://www.danielanderson.io/articles/sharepoint-library-metadata-columns/).

## Create the master list

1. On the site, select **New**, then **List**, then **Blank list**.
2. Name it after the thing you're tracking. Mine was **Vendors**.
3. Add an item for each vendor in the **Title** column. I added Microsoft, Apple, Contoso and Fabrikam.

The list can carry more than names, like a contact person or website for each vendor, and you choose which of those the library shows when you create the lookup.

## Add the lookup column to the library

1. Open the library and select **Add column**, then **Lookup**, then **Next**.
2. Give the column a name (mine was **Vendor name**).
3. Under **Select list as a source**, choose your master list.
4. Under the column selection, choose the column whose values people will pick from. Use **Title**.
5. To show other fields from the list alongside it, open **More options** and tick the extra columns. Each one appears as its own read-only column in the library.
6. Select **Save**.
7. Tag your documents: select one or more files, open the details pane, choose the value from the new column and save. Selecting several files at once tags them together.

Once it's filled in, the lookup column works like any other metadata column, so you can filter, sort and group the library by it. In the second video below I used the same pattern for a client dashboard, with a projects library (built on document sets) and a contracts library both looking up a Clients list, and the projects lookup also brought across the client's primary contact name.

Video: A client dashboard: a Clients list filtering a projects library and a contracts library on the same page. https://www.youtube.com/watch?v=O6kOmbeQE9E

## Build views for the page

Each library web part on the page shows one view, so create the views first.

1. In the library, filter to what one web part should show (in my demo, **Status** is Paid).
2. Select the view name, then **Save view as**, and name it (Paid). Repeat for each web part (Rejected).
3. Trim each view with **Show/hide columns** so it fits the page, but keep the lookup column in every view, because dynamic filtering filters on it.

## Connect the web parts with dynamic filtering

1. Create a page (**New**, **Page**) and lay it out. I used a vertical section for the vendor list and a single column for the invoices.
2. Add a **List** web part and choose your master list. In its properties pick a view that shows just the Title, and turn off the command bar and **See all** link.
3. Add a **Document library** web part, choose the library and pick a view. Add a second one if you want another view of the same library.
4. Select **Edit properties** on the library web part and turn on **Dynamic filtering**.
5. Set **Column in [library] to filter** to your lookup column, **List or Library containing filter value** to the master list, and **Column containing the filter value's properties** to Title.
6. Select **Apply**. Repeat for each library web part, then **Republish** the page.

On my Vendor Portal, selecting Microsoft showed one paid invoice and no rejected ones, and selecting Apple showed a rejected invoice. Selecting two vendors at once showed both vendors' invoices. The setting names match Microsoft's [connect web parts](https://support.microsoft.com/en-US/SharePoint/sites-pages/connect-web-parts-in-sharepoint) steps.

## What to watch for

- **The lookup threshold.** By default a view can't use more than 12 lookup, Person or Group and workflow status columns between them, per Microsoft's guidance on [large lists and libraries](https://support.microsoft.com/en-us/office/manage-large-lists-and-libraries-b8588dae-9387-48c2-9248-c24122f07c59). Extra fields brought across from the source count too, so keep page views lean.
- **Deleting from the master list.** If relationship enforcement is off, deleting a vendor clears it from every invoice tagged with it, according to Microsoft's lookup guidance. Turn on **Enforce relationship behavior** with **Restrict delete** if vendors shouldn't be deleted while they're still in use.
- **Large lists.** In a list over the 5,000 item list view threshold, SharePoint can block you from turning on restrict or cascade delete, and a delete touching more than 1,000 items is blocked.
- **Other sites.** A lookup can't reach a list on another site. If several sites need the same values, a managed metadata column from the term store is the better fit.

## Give the master list one owner

Every library tagged from the master list depends on the names in it being right, so I'd give the list one owning team (accounts payable for vendors, the account managers for clients), give everyone else read access, and keep a single list per site that every library looks up. Two vendor lists with slightly different spellings leave you with the same mismatched tags you'd get from typing vendor names in by hand.

I'd use a lookup over a choice column when the values change often or carry their own details. A choice column suits a short, stable set like a status. Vendors and clients come and go, and with a lookup you add the new client once in the list and every library sees it straight away, along with the contact details you've chosen to bring across. The list also gives you something to click on a page, which a choice column can't.

Then I'd build the page around the question people ask, like "what do we have for this client?". A page with the client list on one side and the projects and contracts libraries on the other answers it in one click. If you want the page to show charts and totals as well as documents, [a Copilot-built dashboard on a Microsoft List](https://www.danielanderson.io/articles/copilot-sharepoint-live-dashboard-microsoft-list/) is the next step up.

## Frequently asked questions

**Can a lookup column allow more than one value?**
Yes. When you create the column, turn on the option to allow multiple selections, so a document can be tagged with two vendors. A multi-value lookup can't then be used as the source for another lookup.

**Does the source list need to be on the same page?**
Yes. Microsoft's steps start by adding the source list or library to the page in its own web part, and that web part is what people click to filter the others. Dynamic filtering isn't available on classic pages.
