In this **Excel VLookup multiple criteria (with the FILTER function) Tutorial**, you learn how to carry out a VLookup for multiple criteria with the FILTER function.

This Excel VLookup multiple criteria (with the FILTER function) Tutorial is accompanied by an Excel workbook with the data and formulas I use when describing the step-by-step process below. **You can get this example workbook (for free) by clicking the button below**.

Use the following Table of Contents to navigate to the Section you're interested in.

## Related Excel VLookup Tutorials

This Excel VLookup multiple criteria (with the FILTER Function) Tutorial is part of a more comprehensive series of Excel VLookup Tutorials.

- Excel VLOOKUP (under development).
- Excel VLOOKUP from Another Sheet in 4 Easy Steps.
- Excel VLookup Multiple Criteria with INDEX MATCH in 4 Easy Steps.
- Excel VLookup Multiple Criteria with XLOOKUP in 2 Easy Steps.

You can find more Excel and VBA Tutorials in the organized Tutorials Archive.

## The VLookup Multiple Criteria (with the FILTER Function) Formula Template/Structure

The following is the VLookup multiple criteria (with the FILTER function) formula template/structure I explain (step-by-step) in the Sections below.

```
'Source: https://powerspreadsheets.com/
'More information: https://powerspreadsheets.com/vlookup-multiple-criteria-filter/
=FILTER(CellRangeWithValuesToReturn,(Criterion1[ComparisonOperator]ColumnWithCriterion1)*(Criterion2[ComparisonOperator]ColumnWithCriterion2)*(Criterion3[ComparisonOperator]ColumnWithCriterion3)*…*(Criterion#[ComparisonOperator]ColumnWithCriterion#))
```

## The Example Before VLookup Multiple Criteria (with the FILTER Function)

This Excel VLookup multiple criteria (with the FILTER function) Tutorial is accompanied by an Excel workbook with the data and formulas I use when describing the step-by-step process below. **You can get this example workbook (for free) by clicking the button below**.

The example worksheet has 2 tables with the following characteristics.

**(1) Table 1 (Cells A7 to G27).**

The table:

- With the data.
- Where you search with the VLookup multiple criteria (with the FILTER function) formula.

Main characteristics:

- 7 columns (Salesperson, Date, Customer, Product, City, Units, Unit Price).
- 1 header row (row 7).
- 20 entries (rows 8 to 27).

**(2) Table 2 (Cells I7 to L14).**

The table where you:

- Set up the VLookup multiple criteria (with the FILTER function) formulas.
- Display the results.

This table has the following 4 columns:

- Column: Cells I8 to I14 store letters. These letters match the columns of Table 1.
- Header: The values in cells J8 to J14 match the headers of Table 1 (cells A7 to G7).
- Value:
- Cells K8 and K9: The 2 (multiple) VLookup criteria.
- Cells K10 to K14:
- Currently empty.
- Will store the VLookup multiple criteria (with the FILTER function) formulas.

- Formula: Cells L10 to L14:
- Currently display the #N/A error.
- Will display the VLookup multiple criteria (with the FILTER function) formulas I enter in cells K10 to K14.

The following image displays the example worksheet before I add the VLookup multiple criteria (with the FILTER function) formulas.

## Step 1: Set Up the Multiple Conditions

Create an expression that does the following:

- Evaluate multiple conditions.
- Return a single value for each row (in the table where you search with the VLookup multiple criteria formula), indicating whether all conditions are met (or not) in that specific row.

To do this inside a VLookup multiple criteria (with the FILTER function) formula, you work with logical expressions. Logical expressions

- Return a Boolean value (TRUE or FALSE) when evaluated.
- Allow you to test whether a set of multiple conditions is met.

Use the following template/structure to create the expression testing the multiple conditions:

```
'Source: https://powerspreadsheets.com/
'More information: https://powerspreadsheets.com/vlookup-multiple-criteria-filter/
(Criterion1[ComparisonOperator]ColumnWithCriterion1)*(Criterion2[ComparisonOperator]ColumnWithCriterion2)*(Criterion3[ComparisonOperator]ColumnWithCriterion3)*…*(Criterion#[ComparisonOperator]ColumnWithCriterion#)
```

This expression template/structure works with the following 2 operators to test whether a set of multiple conditions is met:

- A comparison operator.
- Comparison operators:
- Carry out comparisons.
- Return a Boolean value (TRUE or FALSE).

- The following are commonly used comparison operators:
- Less than (<).
- Less than or equal to (<=).
- Greater than (>).
- Greater than or equal to (>=).
- Equal to (=).
- Not equal to (<>).

- Comparison operators:
- The multiplication operator: *.
- As a general rule, multiplies 2 numbers.
- When multiplying Boolean values (TRUE and FALSE), converts the Boolean values into 1s and 0s as follows:
- TRUE is converted to 1.
- FALSE is converted to 0.

- When creating a VLookup multiple criteria (with the FILTER function) formula, the multiplication operator (*) acts as the AND logical operator. In other words: The entire expression returns 1 (TRUE) or 0 (FALSE) as follows:
- 1 (TRUE) if all evaluated conditions return 1 (TRUE).
- 0 (FALSE) if any (or all) evaluated condition(s) return 0 (FALSE).

Consider the following when specifying the expression testing the multiple conditions:

- Carry out as many comparison tests (with the applicable comparison operator) as needed (1 comparison test per criterion) to compare each of the multiple criteria against the cells in a column (with the respective criterion).
- Specify the column with a criterion (ColumnWithCriterion#) as a single-column (1 column, several rows) cell range.

In the VLookup multiple criteria (with the FILTER function) formula, the expression template/structure I describe above returns an array of 1s and 0s, by applying the 2 operators above in the following order of precedence:

- First:
- The comparison operator is evaluated.
- Each expression with a comparison operator returns an array with TRUEs and FALSEs. Each individual TRUE or FALSE indicates whether the applicable criterion (Criterion#) is met (or not) by the applicable row in the applicable column (ColumnWithCriterion#).

- Second:
- The multiplication operator (*) is evaluated.
- The entire expression with the multiplication operator(s) (*) returns an array with 1s (TRUE) and 0s (FALSE). Each individual 1 (TRUE) or 0 (FALSE) indicates whether all applicable criteria are met by all applicable columns in the applicable row.

### Step 1 Example

In the example, 2 conditions must be met:

- Condition 1: The Product (in column D) is equal to the product specified in cell K8.
- Condition 2: The City (in column E) is equal to the city specified in cell K9.

When implementing the template/structure I describe above:

- Criterion1: Cell K8.
- ColumnWithCriterion1: Column D (cells D8 to D27).
- Criterion2: Cell K9.
- ColumnWithCriterion2: Column E (cells E8 to E27).
- Comparison operator (for both conditional tests): Equal to (=).

The resulting expression (using absolute references) is:

```
'Source: https://powerspreadsheets.com/
'More information: https://powerspreadsheets.com/vlookup-multiple-criteria-filter/
($K$8=$D$8:$D$27)*($K$9=$E$8:$E$27)
```

The image below illustrates how the array of 1s and 0s (I mention above) is returned by this expression:

- Columns H (Criterion1) and I (Criterion2) return TRUE or FALSE, depending on whether the criterion (Criterion#) is met by the applicable row in the applicable column (column D for Criterion1, column E for Criterion2).
- Column J (Criterion1*Criterion2) returns 0 or 1, depending on whether all criteria (Criterion1 and Criterion2) are met by all applicable columns (column D and column E) in the applicable row.
- Column K (Step 1 Array):
- Uses the basic structure of the expression testing the multiple conditions (I describe above).
- Returns 0 or 1, depending on whether all criteria (Criterion1 and Criterion2) are met by all applicable columns (column D and column E). These results are exactly the same as those returned by the (illustrative) process carried out in columns H, I, and J.

- Cell L8 displays the formula (using the basic structure of the expression testing the multiple conditions) stored in column K.

The 2 (multiple) conditions are met in row 24 of the worksheet.

## Step 2: Use the FILTER Function to Extract the Value(s) in the Row Where the Multiple Conditions are Met

The FILTER function filters data based on criteria you specify.

Specify FILTER's arguments as follows to obtain the value(s) the VLookup multiple criteria (with the FILTER function) formula returns:

- array: The cell range with the value(s) to return.
- include: The expression (returning an array of 0s and 1s) you created in step #1.

The resulting formula template/structure is as follows:

```
'Source: https://powerspreadsheets.com/
'More information: https://powerspreadsheets.com/vlookup-multiple-criteria-filter/
=FILTER(CellRangeWithValuesToReturn,ArrayFromStep1)
```

When considering the array you created in step #1:

```
'Source: https://powerspreadsheets.com/
'More information: https://powerspreadsheets.com/vlookup-multiple-criteria-filter/
=FILTER(CellRangeWithValuesToReturn,(Criterion1[ComparisonOperator]ColumnWithCriterion1)*(Criterion2[ComparisonOperator]ColumnWithCriterion2)*(Criterion3[ComparisonOperator]ColumnWithCriterion3)*…*(Criterion#[ComparisonOperator]ColumnWithCriterion#))
```

Consider the following when setting up the FILTER function for the VLOOKUP multiple criteria (with the FILTER function) formula:

- The FILTER function is available in Excel 365.
- The FILTER function is a dynamic array function. This has several consequences, including the following:
- The FILTER function returns an array.
- When the array returned by the FILTER function is the final result of the worksheet formula:
- The array spills (values are returned to neighboring cells).
- Excel dynamically sizes the output cell range after you enter the applicable worksheet formula.

- If appropriate, consider using the third (optional) argument of the FILTER function (if_empty) to specify the value to return if the filter returns nothing (the multiple criteria aren't met). If you omit the if_empty argument and the filter returns nothing, the FILTER function returns the #CALC! error.
- The FILTER function returns an error if any value of the include argument:
- Is an error; or
- Cannot be converted to a Boolean value

### Step 2 Example

In the example, the formulas (using absolute references) are as follows:

- Cell K10:

```
'Source: https://powerspreadsheets.com/
'More information: https://powerspreadsheets.com/vlookup-multiple-criteria-filter/
=FILTER($A$8:$A$27,($K$8=$D$8:$D$27)*($K$9=$E$8:$E$27))
```

- Cell K11:

```
'Source: https://powerspreadsheets.com/
'More information: https://powerspreadsheets.com/vlookup-multiple-criteria-filter/
=FILTER($B$8:$B$27,($K$8=$D$8:$D$27)*($K$9=$E$8:$E$27))
```

- Cell K12:

```
'Source: https://powerspreadsheets.com/
'More information: https://powerspreadsheets.com/vlookup-multiple-criteria-filter/
=FILTER($C$8:$C$27,($K$8=$D$8:$D$27)*($K$9=$E$8:$E$27))
```

- Cell K13:

```
'Source: https://powerspreadsheets.com/
'More information: https://powerspreadsheets.com/vlookup-multiple-criteria-filter/
=FILTER($F$8:$F$27,($K$8=$D$8:$D$27)*($K$9=$E$8:$E$27))
```

- Cell K14:

```
'Source: https://powerspreadsheets.com/
'More information: https://powerspreadsheets.com/vlookup-multiple-criteria-filter/
=FILTER($G$8:$G$27,($K$8=$D$8:$D$27)*($K$9=$E$8:$E$27))
```

The formulas above differ (exclusively) on the column specified as array argument of the FILTER function. That's the column (in the table where you search with the VLookup multiple criteria formula) with the value to return.

- Cell K10: Returns a value from column A (Salesperson).
- Cell K11: Returns a value from column B (Date).
- Cell K12: Returns a value from column C (Customer).
- Cell K13: Returns a value from column F (Units).
- Cell K14: Returns a value from column G (Unit Price).

The image below displays the final results returned by the VLookup multiple criteria (with the FILTER function) formulas.

- Cells K10 to K14 display the value returned by the applicable VLookup multiple criteria (with the FILTER function) formula, as follows:
- Cell K10: The value in cell A24 (Salesperson 50).
- Cell K11: The value in cell B24 (22-May-19).
- Cell K12: The value in cell C24 (Customer 5).
- Cell K13: The value in cell F24 (84.00).
- Cell K14: The value in cell G24 (499.99).

- Cells L10 to L14 display the example VLookup multiple criteria (with the FILTER function) formula, as used in cells K10 to K14.

In this example:

- The FILTER function returns a single value.
- There's no spilling (values aren't returned to neighboring cells).

## Download the VLookup Multiple Criteria (with the FILTER Function) Example Workbook

This Excel VLookup multiple criteria (with the FILTER function) Tutorial is accompanied by an Excel workbook with the data and formulas I use when describing the step-by-step process above. **You can get this example workbook (for free) by clicking the button below**.

## Related Excel VLookup Tutorials

This Excel VLookup multiple criteria (with the FILTER Function) Tutorial is part of a more comprehensive series of Excel VLookup Tutorials.

- Excel VLOOKUP (under development).
- Excel VLOOKUP from Another Sheet in 4 Easy Steps.
- Excel VLookup Multiple Criteria with INDEX MATCH in 4 Easy Steps.
- Excel VLookup Multiple Criteria with XLOOKUP in 2 Easy Steps.

You can find more Excel and VBA Tutorials in the organized Tutorials Archive.