Function Problems

How to Calculate Mode with Multiple Criteria in Excel 365

Algirdas JasaitisAlgirdas Jasaitis Nov 10, 2026 868 views

Question details

The user needs to calculate the most frequently occurring value (mode) based on multiple specific conditions such as highway, kilometer, year, and month.

How to Calculate Mode with Multiple Criteria in Excel 365
Product
Excel 365
Device & OS
not provided
Scenario
Analyzing a dataset to find the mode of a specific column when multiple criteria across other columns are met.
Observed behavior
The user wants to extract the mode for specific combinations of data points using dynamic array formulas.
Before you start

Ensure your data is formatted as an Excel Table for easier referencing, and verify that you are using Excel 365 or a version that supports Dynamic Array functions like FILTER.

Solution 1Recommended

Using FILTER and MODE.MULT Functions

Combine the FILTER function to isolate the data meeting your criteria, and MODE.MULT to find the most frequent values.

In Excel 365, you can use dynamic array functions to handle complex conditional calculations without needing legacy array formulas. By nesting FILTER inside MODE.MULT, you can easily extract the mode based on multiple conditions.

1
Select the target cell

Click on the cell where you want the calculated mode to appear.

2
Enter the combined formula

Type the formula using the LET, FILTER, and MODE.MULT functions. For example: =LET(data, FILTER(Table1[TargetColumn], (Table1[Criteria1]=Value1) * (Table1[Criteria2]=Value2)), INDEX(MODE.MULT(data), 1)).

3
Adjust table and column references

Replace the generic table names, column names, and criteria values with your actual dataset references (e.g., tblAccidentes[condicao_metereologica] and tblAccidentes[BR]=[@BR]).

4
Apply the formula

Press Enter to apply the formula. The INDEX function at the end ensures only the first mode is returned if there are multiple modes.

Using FILTER and MODE.MULT Functions
Handling Multiple Modes: If your data has more than one mode and you want to see all of them, you can remove the INDEX function and simply use =MODE.MULT(FILTER(...)). The results will spill into adjacent cells.
Advanced Data Analysis in WPS Spreadsheet

Calculate Complex Formulas Easily with WPS Office

WPS Spreadsheet fully supports advanced array formulas and statistical functions, allowing you to calculate modes with multiple criteria just as you would in Excel. It offers a seamless experience for data analysis.

  1. 1. Open your dataset: Launch WPS Spreadsheet and open the workbook containing your data.
  2. 2. Input the formula: Click on the target cell and type your combined =FILTER and =MODE.MULT formula.
  3. 3. Calculate the result: Press Enter to instantly calculate the conditional mode based on your multiple criteria.
Fully compatible with Microsoft Excel formulas and functionsSupports dynamic arrays for complex data filteringFree and lightweight alternative for heavy data processingFamiliar user interface with zero learning curve
microsoft office alternative - wps office

Frequently Asked Questions

What happens if no data matches my criteria in the FILTER function?

If no records match the criteria, the FILTER function will return a #CALC! error. You can handle this by adding the [if_empty] argument to the FILTER function, like FILTER(range, criteria, "No Match").

Why does MODE.MULT return a #N/A error?

The MODE.MULT function returns a #N/A error if there are no duplicate numbers in the filtered dataset. A mode only exists if at least one value appears more than once.

Can I use MODE.SNGL instead of MODE.MULT?

Yes, you can use MODE.SNGL if you only need the first mode found in the dataset. However, MODE.MULT is often preferred in dynamic arrays to handle multimodal data, which is why it is wrapped in INDEX to control the output.

How do I apply multiple criteria with the FILTER function?

You can apply multiple criteria by multiplying the condition arrays together using the asterisk (*). For example, (Range1=Condition1) * (Range2=Condition2) acts as an AND logic operator.