June 18, 2021

# How to use XMATCH Function in Excel

The Excel XMATCH function performs a lookup and returns a position in vertical or horizontal ranges. It is a more robust and flexible successor to the MATCH function. XMATCH supports approximate and exact matching, reverse search, and wildcards (* ?) for partial matches.

Syntax:= XMATCH (lookup_value, lookup_array, [match_mode], [search_mode])

The XMATCH function syntax has the following arguments:

• lookup_value – The lookup value.
• lookup_array – The array or range to search.
• match_mode – [optional] 0 = exact match (default), -1 = exact match or next smallest, 1 = exact match or next larger, 2 = wildcard match.
• search_mode – [optional] 1 = search from first (default), -1 = search from last, 2 = binary search ascending, -2 = binary search descending.

### Match type

The third argument for XLOOKUP is match_type. This is an optional argument that controls match behavior as follows:

### The fourth argument for XLOOKUP is search_mode. This is an optional argument that controls search behavior as follows:

Example: Let’s look at some Excel XMATCH function examples and explore how to use the XMATCH function as a worksheet function in Microsoft Excel:Binary searches are very fast, but take care data is sorted as required. If data is not sorted properly, a binary search can return invalid results that look perfectly normal.

Example 1: Exact match

In the example shown, XMATCH is used to retrieve the position in a list of  the range A2:A17. The formula is:

Syntax:  =XMATCH(G2;A2:A17)

Result:

Based on the Excel spreadsheet above, the following XMATCH examples would return:

Syntax: =XMATCH(G2;A2:A17)
Result: 6

Syntax: =XMATCH(G3;A2:A17)
Result: 10

Syntax: =XMATCH(G4;A2:A17)
Result: 11

Notice XMATCH defaults to an exact match. If “Jack Albertson” G2 was misspelled “Jack Albertsol”, XMATCH would return #N/A.

READ:  How to use OFFSET Function in Excel

Example 2: Match behavior

Syntax: =XMATCH(G2;B2:B17;0)

Result:

Based on the Excel spreadsheet above, the following XMATCH examples would return:

Syntax: =XMATCH(G2;B2:B17;0)
Result: 3

Syntax: =XMATCH(G3;B2:B17;0)
Result: #N/A

Syntax: =XMATCH(G4;B2:B17;2)
Result: 5

Syntax: =XMATCH(G5;B2:B17;-1)
Result: 2

Syntax: =XMATCH(G6;B2:B17;1)
Result: 3

Example 3: INDEX and XMATCH
XMATCH can be used just like MATCH with the INDEX function. To retrieve the age of Jack Albertson based on the original example above, the formula is:

Syntax: =INDEX(D2:D17;XMATCH(G2;A2:A17))

Result:

Based on the Excel spreadsheet above, the following XMATCH examples would return:

Syntax: =INDEX(D2:D17;XMATCH(G2;A2:A17))
Result: 30

Syntax: =INDEX(D2:D17;XMATCH(G3;A2:A17))
Result: 27

Syntax: =INDEX(D2:D17;XMATCH(G4;A2:A17))
Result: 50

Note:

1. XMATCH can work with both vertical and horizontal arrays.
2. XMATCH will return #N/A if the lookup value is not found.

#### Excel

View all posts by Excel →