# MATCH

Returns the relative position of an item in an array that matches a specified value in a specified order. Use MATCH instead of one of the LOOKUP functions when you need the position of an item in a range instead of the item itself.

**Syntax**

**MATCH**(**lookup_value**,**lookup_array**,match_type)

**Lookup_value** is the value you use to find the value you want in a table.

- Lookup_value is the value you want to match in lookup_array. For example, when you look up someone's number in a telephone book, you are using the person's name as the lookup value, but the telephone number is the value you want.
- Lookup_value can be a value (number, text, or logical value) or a cell reference to a number, text, or logical value.

**Lookup_array** is a contiguous range of cells containing possible lookup values. Lookup_array can be an array or an array reference.

Match_type is the number -1, 0, or 1. Match_type specifies how Microsoft Excel matches lookup_value with values in lookup_array.

- If match_type is 1, MATCH finds the largest value that is less than or equal to lookup_value. Lookup_array must be placed in ascending order: ...-2, -1, 0, 1, 2, ..., A-Z, FALSE, TRUE.
- If match_type is 0, MATCH finds the first value that is exactly equal to lookup_value. Lookup_array can be in any order.
- If match_type is -1, MATCH finds the smallest value that is greater than or equal to lookup_value. Lookup_array must be placed in descending order: TRUE, FALSE, Z-A, ...,2, 1, 0, -1, -2, ..., and so on.
- If match_type is omitted, it is assumed to be 1.

**Remarks**

- MATCH returns the position of the matched value within lookup_array, not the value itself. For example, MATCH("b",{"a","b","c"},0) returns 2, the relative position of "b" within the array {"a","b","c"}.
- MATCH does not distinguish between uppercase and lowercase letters when matching text values.
- If MATCH is unsuccessful in finding a match, it returns the #N/A error value.
- If match_type is 0 and lookup_value is text, lookup_value can contain the wildcard characters, asterisk (*) and question mark (?). An asterisk matches any sequence of characters; a question mark matches any single character.

**Examples**

Note that C2:C8 contains text formatted as percent numbers.

In the preceding worksheet:

`MATCH(39000,B2:B8,1)`

equals 3

`MATCH(38000,B2:B8,0)`

equals 2

`MATCH(39000,B2:B8,-1)`

equals the #N/A error value, because the range B2:B8 is ordered incorrectly for match_type -1 matching (the order must be descending to be correct).

Suppose Yen refers to A2:A8, YenDollar to A2:C8, and MyIncome to a cell containing the number ¥6,301,126.33. This formula:

`"Your tax rate is "&LOOKUP(MyIncome,YenDollar)&", which places you in tax bracket number "&MATCH(MyIncome,Yen)&"."`

produces this result:

"Your tax rate is 22.41%, which places you in tax bracket number 7."