Excel Formula: Filter Three Lists Based on Corresponding Numbers

Abstract: Filter three parallel lists in Excel to find specific records by combining multiple criteria using INDEX, MATCH, XLOOKUP, or FILTER functions.

Created: 2026-10-07 by
You can filter three parallel lists in Excel by using the INDEX, MATCH, and COUNTIFS functions together. This approach creates a dynamic lookup that identifies rows where all three corresponding values meet your specific criteria, allowing you to extract precise data without manual sorting or complex pivot tables.

Understanding the Data Structure

When working with multiple lists, it is crucial to ensure that the data in each column corresponds correctly. For example, if you have List A, List B, and List C, the item in row 1 of List A must relate to the items in row 1 of Lists B and C. Misaligned data will lead to incorrect filtering results. Assume your data starts in row 2, with headers in row 1. Let us say Column A contains Item IDs, Column B contains Categories, and Column C contains Quantities. You want to find an Item ID where the Category matches a specific value and the Quantity exceeds a certain threshold.

The Core Formula Logic

The most robust method involves combining INDEX and MATCH. The MATCH function finds the position of a lookup value within a range, while INDEX returns the value at that position. To filter based on multiple conditions, we embed COUNTIFS inside the MATCH function. COUNTIFS counts the number of times a set of criteria are met across different ranges. If the count equals one, it means we have found the unique row that satisfies all conditions. For instance, if you are looking for a specific combination, the formula structure typically looks like this:
=INDEX(ReturnRange, MATCH(1, (Criteria1=Range1) * (Criteria2=Range2) * (Criteria3=Range3), 0))
This is an array formula in older versions of Excel, requiring Ctrl+Shift+Enter. In Excel 365, it works as a standard formula. However, a more modern and flexible alternative uses XLOOKUP combined with AND logic or boolean multiplication.

Step-by-Step Implementation

First, define your ranges clearly. Let A2:A100 be your Item IDs, B2:B100 be your Categories, and C2:C100 be your Quantities. Suppose you want to find the Item ID where the Category is "Electronics" and the Quantity is greater than 50. Using the INDEX and MATCH approach:
  1. Select the cell where you want the result.
  2. Enter the INDEX function pointing to the return column (A2:A100).
  3. Inside MATCH, set the lookup value to 1.
  4. Create the match array by multiplying boolean conditions: (B2:B100="Electronics") * (C2:C100>50).
  5. Set the match type to 0 for an exact match.
If no match is found, Excel will return a #N/A error. You can wrap the entire formula in IFERROR to display a custom message instead. Alternatively, if you are using Excel 365, you might prefer XLOOKUP. It simplifies the syntax significantly. The formula would look like:
=XLOOKUP(1, (B2:B100="Electronics")*(C2:C100>50), A2:A100, "Not Found")
This method is cleaner and less prone to errors regarding array entry requirements.

Handling Errors and Edge Cases

One common issue arises when multiple rows meet the criteria. Both MATCH and XLOOKUP return the first occurrence. If you need to retrieve all matching records, consider using the FILTER function introduced in newer Excel versions. FILTER allows you to return an array of results directly. For example:
=FILTER(A2:A100, (B2:B100="Electronics")*(C2:C100>50), "No Results")
This dynamic array spills the results into adjacent cells automatically. If you are dealing with blank cells, remember that logical operations treat blanks as zeros or false depending on the context. To ignore blanks, you may need to add additional conditions checking for non-blank entries. For more insights on handling blanks, see our guide on Excel: Ignoring Blank Cells in a Specific Formula. Another consideration is performance. Large datasets with volatile formulas can slow down calculation times. Using structured references with Excel Tables can help optimize this. Additionally, ensuring that your criteria ranges do not include unnecessary empty rows improves efficiency. If you are grouping similar values before filtering, refer to Excel Formula to group similar values for techniques that streamline your data preparation.

Advanced Filtering Techniques

Sometimes, the criteria are not static but depend on user input from another part of the sheet. In such cases, reference the cells containing your criteria directly within the formula. For example, if cell E1 contains the category and F1 contains the minimum quantity, your formula becomes:
=XLOOKUP(1, (B2:B100=E1)*(C2:C100>F1), A2:A100)
This makes your spreadsheet interactive. Users can change the values in E1 and F1, and the filtered result updates instantly. This technique is particularly useful for dashboards and reports where parameters change frequently. Furthermore, you can combine these filters with other functions like SUM or AVERAGE to perform calculations on the filtered subset. While FILTER returns the actual values, you can nest it inside aggregation functions. For instance, to get the total quantity of filtered items, you could use:
=SUM(FILTER(C2:C100, (B2:B100=E1)*(C2:C100>F1)))
This provides a powerful way to analyze subsets of data dynamically. Remember to check for consistency in data types; text comparisons are case-insensitive in Excel, but numeric comparisons are strict. Ensure that numbers stored as text do not interfere with numeric criteria.

Frequently Asked Questions

What happens if there are duplicate matches?

Standard INDEX/MATCH and XLOOKUP functions return only the first matching record they encounter. If you need all duplicates, use the FILTER function which returns an array of all qualifying rows.

Can I filter based on partial text matches?

Yes, you can use wildcards like "*text*" within your criteria. For example, (B2:B100="*Electronics*") will match any cell containing the word Electronics anywhere in the text string.

Why am I getting a #N/A error?

A #N/A error indicates that no row satisfied all the specified conditions. Check your data for typos, extra spaces, or mismatched data types between your criteria and the source columns.

How do I handle large datasets efficiently?

Convert your data range into an Excel Table using Ctrl+T. This allows you to use structured references which are easier to manage and often calculate faster than hard-coded ranges.

Is there a limit to the number of criteria?

While COUNTIFS supports up to 127 ranges, using boolean multiplication in XLOOKUP or MATCH is limited only by available memory. However, adding too many criteria can slow down calculation speeds significantly.

Latest News

How to Display Output of xterm Command in Terminal Screen using Cron

Resolve the inability to display xterm output in a terminal screen from cron by redirecting logs or using wall instead of insecure X11 workarounds.

Read More
Expose Local Server on VPS Preserving Real Client IPs (OS Level)

Resolve VPS logging showing only gateway IPs by configuring reverse proxies to forward real client addresses via X-Forwarded-For headers.

Read More
How to Clear Recent Files History in Linux without Deleting Actual Files?

Clear recent files history in Linux by deleting ~/.local/share/recently-used.xbel without removing the actual files.

Read More
Best HDD Copy Strategy: Manually Syncing and Rewriting Scratch

Resolve data drift between two 4TB hard drives by using rsync with the --delete flag to manually sync and rewrite scratch data for an exact mirror.

Read More
Understanding Bash Prompt Abbreviations: An Overview

Resolve repetitive typing errors by creating and persisting Bash aliases in the .bashrc file for improved command-line efficiency.

Read More
Free Tools and Methods to Log Real-Time Performance Details in Task Manager

Log real-time CPU and memory metrics to CSV files using Windows Performance Monitor Data Collector Sets to troubleshoot system slowness.

Read More
Contact Qatar Airways Customer Service: Phone Number, Help Center, and More

Resolve urgent Qatar Airways reservation issues like flight changes and baggage claims using the US phone number +1801-855-5905 or online self-service tools.

Read More
Windows 11: Alt Codes Displaying Wrong Characters - Solutions

Resolve Windows 11 Alt codes showing wrong characters by verifying the US keyboard layout and enabling Num Lock.

Read More
Run Programs with Elevated Privileges: A Comprehensive Guide

Eliminates the need to type sudo for frequent administrative tasks by configuring .bashrc aliases or functions.

Read More
Dynamically Changing Dates in Excel Formulas Using Cells

Eliminate manual date updates in Excel by using cell references to create dynamic formulas that automatically adjust calculations when input dates change.

Read More
Granting Edit Access to a Specific Excel Sheet in an Office 365 User Email ID-Based Login

Excel Online lacks native sheet-level permissions, so users must split workbooks or use worksheet protection to isolate edit access for specific tabs.

Read More
Creating Network Load on Local Wi-Fi from One PC

Generate sustained Wi-Fi bandwidth load from a single PC using a VM SFTP server to test router stability and throughput.

Read More
Changing the Default Editor for Batch Files in Windows 11's File Explorer

Resolve the issue of batch files opening in Notepad by changing the default editor to a preferred application like VS Code.

Read More
Gain WiFi Connection Minutes Before Losing it by Changing MAC Address

Bypass MAC address filtering to restore WiFi connectivity temporarily when a device is blocked by network administrators.

Read More
Photos Folders Turned Black: Troubleshooting Picture Applications on Windows

Resolve black screens in Windows Photos by resetting the app, updating graphics drivers, and repairing system files.

Read More
Troubleshooting High CPU Temperature Values: A Step-by-Step Guide

Resolve high CPU temperatures and thermal throttling by monitoring with Speedfan, cleaning dust from cooling components, and replacing degraded thermal paste.

Read More
Make cURL establish TLS connection with CA unknown

Resolve cURL TLS connection failures with unknown or self-signed certificates by using the --insecure flag to bypass CA validation.

Read More
Troubleshooting Incorrect Network Metrics Values in Grafana, Prometheus, InfluxDB, and Telegraf

Fix incorrect network metrics in Grafana, Prometheus, InfluxDB, and Telegraf by verifying interface selection, resolving unit mismatches, and handling counter resets.

Read More
Start Another Terminal Window (cmd.exe) Windows Repair/Troubleshoot

Provides step-by-step instructions to access the Windows Command Prompt via bootable media for advanced system repair and troubleshooting.

Read More
Thinkpad P1 Gen 6: Sudden Thunderbolt 3 Dock USB-C Charging Stopped Working

Resolve sudden Thunderbolt 3 dock USB-C charging and internet failure on ThinkPad P1 Gen 6 by updating firmware, resetting the dock, and adjusting power settings.

Read More
ASUS Windows 11 Laptop: Internet Connection Issue with Hotspot

Resolve ASUS Windows 11 laptop spinning wheel issue when connecting to mobile hotspot by resetting network stack, disabling IPv6, and adjusting power settings.

Read More
Developing iOS Project with Firebase: Logging in and Sending Push Notifications

Integrates Firebase to enable secure user authentication and push notifications in iOS applications.

Read More
Troubleshooting Bash Script with Suspected Issues of Spaces, Dashes, Filenames and Quoting

Resolve Bash script failures caused by word splitting, globbing, and special characters in filenames by applying proper quoting techniques.

Read More
Populating OneDrive Folder for Local Backup without Affecting Remote Files

Prevent OneDrive from deleting remote files during Windows reinstallation by unlinking the account or using symbolic links to isolate local data.

Read More
Force First Frame as Keyframe Without Re-encoding: A Quick Solution

Resolve inaccurate seeking and playback glitches by re-encoding video to ensure the first frame is a valid keyframe.

Read More
Find Information in Database Using WSL (Ubuntu) on Windows-10

Resolve database connection issues from WSL Ubuntu on Windows 10 by configuring client tools and network access to query remote or local servers.

Read More
Configuring a New Router with Different Networks: One Family, One Guest

Resolve IP conflicts and isolate guest traffic by configuring a second router with a distinct subnet via its WAN port.

Read More
Quickly Open Multiple Stock Websites with a Single Command

Solve the problem of manually opening multiple stock research websites by creating a single command to launch them simultaneously on Windows, macOS, or Linux.

Read More
Improved Adobe Acrobat Search Experience: Access Advanced Search with Ease

Access advanced search filters like case sensitivity and regex in Adobe Acrobat by clicking More Options in the Find bar.

Read More
Port Forwarding VM via OpenVPN: A Comprehensive Guide

Configure OpenVPN server and iptables to forward specific ports from VPN clients to a virtual machine's internal IP address.

Read More
Understanding Partitions in the 1980s: A Look Back at MS-DOS and Master Boot Record

Explains how the Master Boot Record and partition table enabled MS-DOS to manage multiple disk volumes on a single physical drive.

Read More
Windows 10 Enterprise: Keyboard Not Detected in Managed Organization with Admin Privileges

Resolve Windows 10 Enterprise keyboard detection failures caused by Group Policy restrictions, driver corruption, or USB enumeration errors.

Read More
Can't Find x86_64 Versions of Applications on MacOS arm64 (M1)

Resolve missing x86_64 app issues on M1 Macs by installing Rosetta 2 and reinstalling apps as universal binaries.

Read More
How to Hide Installation Source for an Android App

Manage Android app installation source visibility by using USB transfers or file managers to reduce browser traces and isolate data via work profiles.

Read More
Connecting Momentus 4200.2 ST9808210A Hard Drive via USB Cable

Resolve inability to access Seagate Momentus 4200.2 ST9808210A hard drive by connecting it via USB using a compatible SATA-to-USB adapter and configuring the disk in Windows.

Read More