How to Find Matching IDs Across Multiple Excel Rows using Formulas
Question details
The user needs to mark rows with 'Yes' when a Contact ID has both a 'Summer Student' record and a qualifying 'Enrolled' or 'Student' record outside of the summer season.

- Product
- Spreadsheet
- Device & OS
- not provided
- Scenario
- Identifying specific matching records across a large dataset of more than 30,000 rows using complex conditional logic.
- Observed behavior
- The user requires a formula-based method to evaluate multiple rows for the same Contact ID without crashing or lagging the spreadsheet.
Ensure your dataset is organized with distinct columns for Contact ID, Status (e.g., Student, Enrolled), and Term (e.g., Summer), and clear any trailing spaces from your text data.
Use a Helper Column and COUNTIFS Function
Breaking down complex conditions using a helper column improves calculation speed and formula readability, which is essential for large datasets.
When dealing with large datasets (e.g., over 30,000 rows), evaluating cross-row dependencies with a single array formula can cause severe performance issues. Using a helper column evaluates part of the logic first, allowing the final COUNTIFS function to process the data much faster.
In an empty column (for example, column K, cell K2), enter the formula `=AND(E2<>"Summer",OR(D2={"Student","Enrolled"}))`. This identifies non-summer qualifying records and returns TRUE or FALSE.
Select cell K2, and double-click the small square at the bottom-right corner of the cell (the fill handle) to apply the formula down through all 30,000+ rows.
In your target column (for example, column J, cell J2), enter `=IF(AND(E2="Summer",D2="Student",COUNTIFS($B$2:$B$31195,B2,$K$2:$K$31195,TRUE)>0),"Yes","No")`. Replace column B and the ranges to match your actual Contact ID and Helper columns.
Select cell J2 and double-click the fill handle to copy this final evaluation formula down to the end of your dataset.

Easily Manage Large Datasets with WPS Spreadsheet
WPS Spreadsheet handles massive datasets effortlessly, supporting advanced functions like COUNTIFS and array formulas to help you process complex data conditions without freezing.
- 1. Open your dataset: Launch WPS Spreadsheet and open your large data file.
- 2. Add a helper column: Insert a new column to simplify your logical conditions using the AND/OR functions.
- 3. Apply the formulas: Use the COUNTIFS and IF formulas to accurately tag your target rows across the entire dataset.
- 4. Filter the results: Use the Data Filter tool to instantly view all the records marked as 'Yes'.

Frequently Asked Questions
Can I do this without a helper column?
Yes, you can use complex array formulas like SUMPRODUCT or FILTER. However, for datasets with over 30,000 rows, a single-cell array formula will severely slow down your spreadsheet's performance. Helper columns are much faster and more efficient.
Why does the OR formula use curly brackets like {"Student","Enrolled"}?
The curly brackets create an array constant. This allows the OR function to check if the cell value matches any of the items in the array simultaneously, saving you from writing a longer formula like OR(D2="Student", D2="Enrolled").
How does the COUNTIFS function match the IDs?
The COUNTIFS function counts how many times the Contact ID in the current row appears in the entire ID column where the Helper Column value is also TRUE. If the count is greater than 0, it means a matching qualifying record exists elsewhere in the dataset.
What if my data ranges change frequently?
Convert your data into an official Table by pressing Ctrl+T. This allows you to use structured references (like [Contact ID]) in your formulas, which automatically expand and update when new rows are added.




