How to Compare Rates for Matching Addresses in Excel
Question details
Users need to verify if all services at a specific address use a consistent billing rate, even when the number of services fluctuates.

- Product
- Excel
- Device & OS
- not provided
- Scenario
- Auditing service records to ensure consistent dollar rates are applied across identical addresses and service types without manual verification.
- Observed behavior
- The goal is to dynamically extract and count distinct rates per address and service type, returning a confirmation message when rates match and flagging when they do not.
Ensure your dataset is organized in a tabular format with distinct columns for addresses, service types, and rates, and that you are using a spreadsheet software version that supports dynamic array functions.
Use Dynamic Array Functions to Verify Rate Consistency
Combine UNIQUE, FILTER, CHOOSECOLS, and COUNTA functions to extract and count the number of distinct rates per address.
Dynamic array functions provide a robust way to analyze complex conditions without VBA. By filtering data for matching addresses and service types, and isolating the distinct rates, you can quickly spot billing inconsistencies.
Use the FILTER function to isolate records matching a specific address and service type. For example: FILTER($A$2:$C$31, ($A$2:$A$31=A2)*($B$2:$B$31="On-site")).
Wrap the FILTER result in the CHOOSECOLS function to return only the column containing dollar rates. If your rate is in the third column, use CHOOSECOLS(..., 3).
Enclose the formula in the UNIQUE function to remove any duplicate rate values for the matched address, leaving only distinct rates.
Wrap the entire formula in COUNTA to return a number. For example: =COUNTA(CHOOSECOLS(UNIQUE(FILTER($A$2:$C$31,($A$2:$A$31=A2)*($B$2:$B$31="On-site"))),3)). You can combine this with an IF statement to return "Consistent" if the count equals 1, and "Inconsistent" otherwise.

Highlight Inconsistent Rates Using Conditional Formatting
Apply conditional formatting based on the dynamic array formula to visually highlight rows with rate discrepancies.
Use WPS Spreadsheet to Compare and Analyze Rates Easily
WPS Spreadsheet fully supports advanced dynamic array functions like UNIQUE, FILTER, and CHOOSECOLS, empowering you to seamlessly verify billing consistencies and manage extensive datasets.
- 1. Open your data file: Launch WPS Spreadsheet and open the .xlsx file containing your service records.
- 2. Input the array formula: Select an empty cell next to the first address and enter the combined COUNTA, CHOOSECOLS, UNIQUE, and FILTER formula.
- 3. Apply to all rows: Press Enter, then drag the fill handle down to apply the verification logic across all addresses.
- 4. Review results: Check the output to instantly identify any addresses where the distinct rate count is greater than one.

Frequently Asked Questions
What if the FILTER function returns a #CALC! error?
If no matching addresses or service types are found in your dataset, FILTER will output a #CALC! error. To resolve this, provide a fallback value in the third argument of the FILTER function, such as "Not Found".
Can I use CHOOSECOLS in older spreadsheet versions?
No, CHOOSECOLS is a dynamic array function available in newer versions. If you are using an older spreadsheet software that doesn't support it, you can achieve a similar result using the INDEX function to extract a specific column.
How do I check multiple service types in the FILTER function?
To include multiple service types, use the addition symbol in the criteria argument. For example, (Range="On-site")+(Range="Remote") acts as an OR condition, allowing the FILTER function to return results matching either condition.




