How do you build a multi-criteria search engine in Excel?
You can build a multi-criteria search engine in Excel using FILTER to apply multiple logical conditions and CHOOSECOLS to control the output columns. This approach allows dynamic, real-time filtering without VBA, helper columns, or Power Query.
In this article, you will learn how to design a scalable, flexible, and fast search engine that allows users to search data using multiple criteria simultaneously—all with clean formulas and dynamic results. 🚀
Traditional Excel tools like VLOOKUP, XLOOKUP, and INDEX-MATCH are excellent—but they fall short when:
That’s where FILTER + CHOOSECOLS shine.
At a high level:
*, +) combines criteriaAssume your raw data is in A1:H1000:
| ID | Name | Department | Location | Role | Salary | Status | Join Date |
|---|
Place search inputs in clearly labeled cells:
| Cell | Purpose |
|---|---|
| K2 | Department |
| K3 | Location |
| K4 | Role |
| K5 | Status |
| K6 | Minimum Salary |
These will drive the search logic.
Here’s a multi-criteria FILTER formula:
=FILTER(
A2:H1000,
(C2:C1000=K2)*
(D2:D1000=K3)*
(E2:E1000=K4)*
(G2:G1000=K5)*
(F2:F1000>=K6),
"No matching records found"
)* works as AND logicTo allow blank inputs (very important!), modify the logic:
=FILTER(
A2:H1000,
((K2="")+(C2:C1000=K2))*
((K3="")+(D2:D1000=K3))*
((K4="")+(E2:E1000=K4))*
((K5="")+(G2:G1000=K5))*
((K6="")+(F2:F1000>=K6))
)(K2="") returns TRUE when empty+ acts as OR logicLet’s say you only want to display:
👉 Name
👉 Department
👉 Role
👉 Salary
Wrap the FILTER formula:
=CHOOSECOLS(
FILTER(
A2:H1000,
((K2="")+(C2:C1000=K2))*
((K3="")+(D2:D1000=K3))*
((K4="")+(E2:E1000=K4))*
((K5="")+(G2:G1000=K5))*
((K6="")+(F2:F1000>=K6))
),
2,3,5,6
)To enable contains-type searching, use SEARCH():
=FILTER(
A2:H1000,
((K4="")+ISNUMBER(SEARCH(K4,E2:E1000)))
)This allows users to type:
Perfect for real-world search engines. 🔥
✔ Use Excel Tables (Ctrl + T)
✔ Avoid volatile functions
✔ Use CHOOSECOLS outside FILTER
✔ Keep ranges tight
✔ Prefer numeric comparisons where possible
Below are ready-to-build datasets:
| EmpID | Name | Dept | Location | Role | Experience | Salary | Status |
|---|
Challenges:
| OrderID | Region | Salesperson | Product | Category | Amount | Month | Year |Challenges:
| StudentID | Name | Grade | Subject | Score | Result | Teacher | Term |Challenges:
| SKU | Product | Category | Supplier | Stock | ReorderLvl | Cost | Status |Challenges:
🧪 Step-by-Step Excel Exercises (With Solutions)
These exercises are designed to move readers from understanding to mastery.
Each exercise increases complexity and mirrors real business use cases
Filter employees by:
A: EmpID
B: Name
C: Department
D: Location
E: Role
F: Salary
A: EmpID
B: Name
C: Department
D: Location
E: Role
F: Salary
🧑💻 User Inputs
H2 → Department
H3 → Location
✅ Solution Formula
=CHOOSECOLS( FILTER( A2:F500, (C2:C500=H2)* (D2:D500=H3) ), 2,5)
* applies AND logicCHOOSECOLS() controls output visibilityAllow users to leave inputs blank without breaking the search.
H2 → Department (optional)
H3 → Location (optional)
H4 → Minimum Salary
✅ Solution Formula
=CHOOSECOLS( FILTER( A2:F500, ((H2="")+(C2:C500=H2))* ((H3="")+(D2:D500=H3))* ((H4="")+(F2:F500>=H4)) ), 2,3,5,6)
(H2="") + (condition) enables optional filters+ works as OR logicAllow users to type partial text (e.g., “Man”) to find “Manager”.
H2 → Role keyword
✅ Solution Formula
=FILTER( A2:F500, (H2="")+ISNUMBER(SEARCH(H2,E2:E500)))
SEARCH() enables contains-style searchBuild a dashboard-ready search engine that filters by:
H2 → Department
H3 → Role keyword
H4 → Status
H5 → Minimum Salary
✅ Solution Formula
=CHOOSECOLS( FILTER( A2:H1000, ((H2="")+(C2:C1000=H2))* ((H3="")+ISNUMBER(SEARCH(H3,E2:E1000)))* ((H4="")+(G2:G1000=H4))* ((H5="")+(F2:F1000>=H5)) ), 2,3,5,6)
FAQ
Q: Can FILTER handle multiple criteria in Excel?
Yes. FILTER can evaluate multiple conditions using logical operators like * (AND) and + (OR), making it ideal for advanced multi-criteria searches.
Q: Is CHOOSECOLS better than deleting columns?
Yes. CHOOSECOLS dynamically controls output visibility without modifying the source dataset, improving model integrity and performance.
With just FILTER() and CHOOSECOLS(), Excel transforms into a powerful, logic-driven search engine—capable of handling enterprise-scale scenarios without complexity.
By combining FILTER() + CHOOSECOLS(), you are not just filtering data—you are engineering a scalable, production-grade search system inside Excel.
If you want your Excel skills to stand out in data analytics, finance, HR, or operations, mastering this pattern is non-negotiable. 💼📊
👉Write in comment section:
If you found this article helpful, please share it with a friend!
See you in the next edition! ✌️ __________________________________________________________
I’m a corporate trainer who teaches Microsoft Excel end‑to‑end: foundational spreadsheets and formulas, intermediate data tools, pivot tables, and analytics. Every program is hands‑on and role‑focused for individual learners or corporate cohorts.
Enroll into any Microsoft Excel online course of your choice:
Budgeting and Forecasting in Excel
Advanced Excel Data Management Program
Intermediate Excel Data Management Program
Disclaimer: This content was prepared with support from an AI‑powered assistant that enhances human creativity to improve clarity, accuracy, and impact. Some visuals in this post were also created with the help of AI to make the ideas clearer and the story more engaging. While I strive for precision, AI tools may occasionally produce errors. Any resemblance to real people or copyrighted works is purely coincidental. Please use this content for informational purposes only.