In this tutorial, you’ll learn how to set up real-time Excel filtering using a Combo Box, allowing users to filter as you type in Excel with the powerful FILTER and REGEXTEST functions.
How It Works
When you type in the search box, Excel instantly filters the data—no need to press Enter. The filtering updates in real time, matching your input against a specific column or all columns in your dataset.

Ready to set this up? Let’s start by preparing the sample data.
Step 1: Preparing Sample Data
Let’s use the following dataset for testing:

First, we’ll apply real-time Excel filtering to the Location column. As you type, the formula will match your input against the Location column and filter the data dynamically. Later, we’ll expand this to search across all columns in real time.
Step 2: Inserting the Combo Box (Search Box)
The Combo Box is available within the Developer tab. If the Developer tab is not visible, enable it by:
- Clicking File > Options > Customize Ribbon
- Checking the Developer box under “Main Tabs”
- Clicking OK
To insert a Combo Box:
- Go to the Developer tab > Click Insert
- Choose Combo Box (ActiveX Control)
- Click anywhere on the worksheet (e.g., cell E1) to place it

Step 3: Linking the Combo Box for Real-Time Filtering
To use the Combo Box as a search field, configure its properties:
- Go to Developer > Design Mode
- Right-click the Combo Box > Select Properties
- Set the following:
- AutoSize >
FALSE
(prevents resizing as you type) - LinkedCell >
F1
(stores the search term in cell F1) - MatchEntry >
2 - fmMatchEntryNone
(ensures free-text input without auto-matching)
- AutoSize >
- Exit Design Mode by clicking it again.

This setup extracts the entered text in real time into F1
, which we’ll use in filtering formulas.

Step 4: Writing the Filtering Formulas
To filter the Location column based on user input, use:
=FILTER(A2:C16, REGEXTEST(C2:C16, "(?i)"&F1))
This formula dynamically filters the range A2:C16
, matching F1
(the typed keyword) against C2:C16
.

Example:
- Typing
"ne"
filters New York and Sydney (since both contain “ne”). - Typing
"Y"
returns both New York and Sydney again.
To filter only when the keyword matches the start of a word, use:
=FILTER(A2:C16, REGEXTEST(C2:C16, "(?i)\b"&F1))
"n"
filters New York only."y"
filters New York only.
Filtering Across All Columns
If you want real-time Excel filtering across all columns (not just one), use:
=FILTER(A2:C18, REGEXTEST(BYROW(A2:C18, LAMBDA(row, TEXTJOIN("|", TRUE, row))), "(?i)\b"&F1))
Now, typing "Lo"
filters London, and "Mark"
filters Marketing Expo—regardless of column placement.
By default, all the filtering formulas in this tutorial are case-insensitive. If you need case-sensitive filtering, simply remove (?i) from the REGEXTEST function. This ensures that uppercase and lowercase letters must match exactly when filtering data.
Key Takeaways
- Real-time Excel filtering lets you filter as you type in Excel, without pressing Enter.
- The FILTER function combined with REGEXTEST enables dynamic searching.
- The Combo Box (ActiveX Control) captures input and applies filtering instantly.
- The BYROW + TEXTJOIN method allows searching across all columns.
- Performance may slow down with large datasets, especially with LAMBDA functions.
Final Thoughts
By setting up real-time Excel filtering, you can make your data interactive and easy to search. Whether you’re filtering a single column or an entire dataset, this method provides a fast, user-friendly experience.