Google Sheets List from Range: A Practical Step-by-Step Guide
Learn how to list items from a range in Google Sheets with simple formulas, remove blanks and duplicates, and build dynamic, sorted lists for dashboards.
To list items from a range in Google Sheets, use formulas like FILTER, UNIQUE, and SORT to spill a dynamic list into another column. Start with a basic reference (e.g., =A2:A), then refine by excluding blanks, removing duplicates, or sorting. This keeps your list up-to-date as the source data changes.
Overview: listing values from a range in Google Sheets
In Google Sheets, listing items from a source range means extracting non-empty values from a column (or multiple columns) and displaying them as a separate, dynamic list in another area of the sheet. This technique is widely used for dashboards, data validation pull-downs, and drop-down menus. The keyword google sheets list from range captures the core behavior: a formula that refers to a source range and spills results automatically into adjacent cells. Using basic references like A2:A, you can build lists that update as the source data changes, without copying data manually. In practice, this approach pairs well with other functions like FILTER, UNIQUE, SORT, and QUERY to tailor the output to your needs. Throughout this guide, we’ll assume you’re listing from a single column, but you’ll see patterns you can adapt to multi-column ranges and mixed data types. Whether you’re a student compiling a reading list or a professional building a project tracker, the ability to derive a clean, up-to-date list from a range saves time and reduces errors.
Why listing from a range matters
A list generated from a range serves multiple purposes. It keeps dashboards accurate, feeds drop-down menus with current options, and reduces manual copying. For students, it helps assemble reading lists directly from a data sheet. For professionals, it streamlines task lists and project inventories. The core idea is to reference a live data source so any change in the source is reflected automatically in the list, eliminating stale data. This approach also supports data governance by ensuring downstream analyses always pull from the latest entries. When planning a sheet, consider how dynamic you need the list to be: single-column updates are simple, while multi-column lists require careful composition to avoid misalignment. As you implement, test with a small sample to verify that additions, deletions, or edits propagate correctly across your sheet.
Basic single-column listings: direct spill from a range
A basic list can spill directly from a single-column range. In a blank column, type =A2:A. This simple reference will populate every cell below with the corresponding values from the source. Important: Google Sheets will spill automatically, but you must ensure there is no data in the destination cells where the spill would occur. If the source contains blanks, the list will include blanks as empty cells unless you filter them out. This method is ideal for quick lists that you want to mirror exactly as they appear in the source. If you’re listing from a long dataset, keep the source range bounded (e.g., A2:A2000) to avoid scanning an entire column and slowing down the sheet.
Excluding blanks: using FILTER to clean the list
To produce a tidy list that excludes blanks, combine FILTER with a non-blank condition. A common pattern is =FILTER(A2:A, A2:A<>"" ). This returns only non-empty cells from A2:A and spills them downward. FILTER is efficient for large ranges and works well with mixed data types as long as the condition is appropriate. If you also want to remove digits or text-only items, you can wrap the result with additional functions like REGEXMATCH or ISTEXT to refine the output. This method is frequently used for preparing clean sources for charts or drop-down menus.
Removing duplicates: UNIQUE after filtering blanks
If your source list may contain repeated values, use UNIQUE in combination with FILTER to produce a distinct list. The formula =UNIQUE(FILTER(A2:A, A2:A<>"")) returns each value once. For sorted results, wrap it with SORT: =SORT(UNIQUE(FILTER(A2:A, A2:A<>""))). This approach is invaluable for creating master lists, inventory IDs, or category labels where duplicates could distort analysis. Note that duplicates across blanks are ignored after filtering.
Sorting and combining lists: SORT with UNIQUE for clean order
To present a tidy, ordered list, combine SORT with UNIQUE and FILTER: =SORT(UNIQUE(FILTER(A2:A, A2:A<>""))). Sorting ensures consistent display in dashboards and reports. If you want ascending or case-insensitive order, you can add a second argument to SORT: =SORT(UNIQUE(FILTER(A2:A, A2:A<>"")), 1, TRUE). For reverse order, set the last parameter to FALSE. This pattern also scales well when you need to present lists in chronological or alphabetical order.
Stacking multiple columns into a single list
If your data lives in more than one column, you can stack them into a single list using array literals. For example, ={A2:A; B2:B} stacks column A on top of column B. To keep only unique values across both columns, combine with UNIQUE: =SORT(UNIQUE({A2:A; B2:B})). This is especially useful for consolidating tags, labels, or multi-source IDs into a single reference list. Be mindful of data type consistency across columns to avoid mixed results.
Conditional lists with QUERY: filter by criteria while listing
For more complex filtering, the QUERY function provides SQL-like power. Example: =QUERY(A2:B, "select A where B = 'Done'", 0) returns values from column A where the corresponding B value meets the condition. QUERY is powerful when you need to pull subset lists from larger datasets, apply text matching, or perform simple aggregations before listing. It also handles sorting and grouping when combined with ORDER BY or group by clauses.
Named ranges and dynamic references for maintainability
As your workbook grows, named ranges reduce maintenance. Define a named range like DataList for A2:A999 and reference it in your formulas: =FILTER(DataList, DataList<>"" ). This approach makes your formulas easier to read and adjust. You can combine named ranges with SORT and UNIQUE to generate robust, reusable lists for multiple sheets. If your data source changes structure, update the named range once to propagate changes across all formulas.
Practical templates and dashboards: applying the list in real-work scenarios
Lists from a range power a variety of templates and dashboards. Use them to populate drop-down menus for data validation, build dynamic charts, or feed summary tables. For example, a sales dashboard might pull product names from a range, automatically hiding discontinued items by filtering with a condition. When building templates, organize your source data with consistent formatting, clear headers, and well-defined ranges to minimize breakage when new data arrives. The result is a responsive sheet that adapts to updates without manual edits.
Tools & Materials
- Google Sheets access(Open a sheet containing the data range (e.g., A2:A100))
- Data range identified(Specify the exact range you’ll list from (single column preferred))
- Formula cell for results(Place the formula in a clean, empty column where results can spill)
- Optional: named ranges(If using named ranges, define them in Data > Named ranges)
Steps
Estimated time: 25-40 minutes
- 1
Identify the source range
Locate the column or columns that contain the data you want to list. Note the exact range (e.g., A2:A100) and check for blanks or inconsistent data types that could affect results.
Tip: Keep the source range reasonably sized to maintain performance. - 2
Choose your listing approach
Decide whether you want a simple spill, a filtered non-blank list, or a unique set. The choice depends on whether blanks or duplicates are acceptable in your use case.
Tip: For dashboards, start with a clean, non-blank list. - 3
Enter the base spill formula
In a clean column, enter a basic spill formula such as =A2:A to mirror the source. Ensure adjacent cells are empty to accommodate the spill.
Tip: Avoid overwriting existing data in the destination column. - 4
Refine to remove blanks
If blanks exist, wrap the base with FILTER: =FILTER(A2:A, A2:A<>\
Tip: This ensures only non-empty values appear in the list. - 5
Remove duplicates and sort
To deduplicate and order, use SORT and UNIQUE: =SORT(UNIQUE(FILTER(A2:A, A2:A<>\
Tip: Combining these creates a clean, publish-ready list. - 6
Test with real data
Add or change values in the source range and verify the list updates automatically. Check edge cases like entirely empty ranges or data type mismatches.
Tip: If results don’t spill, ensure there is no data blocking the spill range.
FAQ
What is the simplest way to list values from a range in Google Sheets?
The simplest approach is to reference the range directly (e.g., =A2:A) and let it spill into the destination column. If you need cleanliness, wrap with FILTER to remove blanks.
Use a direct spill like =A2:A and add FILTER if you want to exclude blanks.
How can I remove blanks and duplicates at the same time?
Combine FILTER, UNIQUE, and SORT: =SORT(UNIQUE(FILTER(A2:A, A2:A<>\
Use FILTER to remove blanks, then UNIQUE to deduplicate, and SORT to order the results.
Can I list values from two columns into one list?
Yes. Stack columns with an array literal like =SORT(UNIQUE({A2:A; B2:B})), which merges both columns into a single, deduplicated list.
Stack multiple columns and remove duplicates to form a single list.
What should I do if the source range changes size often?
Use a broad range or a named range to accommodate growth, e.g., A2:A1000, or define DataList and reference it in your formulas so updates propagate automatically.
Don’t hard-code tiny ranges; use larger ranges or named ranges.
Is there a way to list values conditionally, like only active items?
Yes. Use QUERY or FILTER with a condition, for example: =QUERY(A2:B, "select A where B = 'Active'", 0) or =FILTER(A2:A, B2:B = "Active").
Filter by a condition to include only items that meet criteria.
What are common mistakes when listing from a range?
Mistakes include overwriting spill ranges, using entire-column references in large sheets, and forgetting to exclude blanks or duplicates before listing.
Avoid overwriting spill areas and always validate with sample data.
Watch Video
The Essentials
- List values from a range with simple spill
- Exclude blanks with FILTER for cleanliness
- Deduplicate and sort for dashboards
- Use QUERY for conditional lists
- Named ranges improve formula readability

