MS Excel MATCH Formula

The MATCH function searches for a specified item in a range of cells, and then returns the relative position of that item in the range. For example, if the range A1:A3 contains the values 5, 25, and 38, then the formula =MATCH(25,A1:A3,0) returns the number 2, because 25 is the second item in the range.

MATCH Formula

=MATCH(lookup_value, lookup_array, [match_type])

MATCH Formula Video

lookup_valueThe value that 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. The lookup_value argument can be a value (number, text, or logical value) or a cell reference to a number, text, or logical value.
lookup_arrayThe range of cells being searched.
match_typeThe number -1, 0, or 1. The match_type argument specifies how Excel matches lookup_value with values in lookup_array. The default value for this argument is 1.
Match_typeBehavior
1 or omittedMATCH finds the largest value that is less than or equal to lookup_value. The values in the lookup_array argument must be placed in ascending order, for example: …-2, -1, 0, 1, 2, …, A-Z, FALSE, TRUE.
0MATCH finds the first value that is exactly equal to lookup_value. The values in the lookup_array argument can be in any order.
-1MATCH finds the smallest value that is greater than or equal tolookup_value. The values in the lookup_array argument must be placed in descending order, for example: TRUE, FALSE, Z-A, …2, 1, 0, -1, -2, …, and so on.
  • 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, which is 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 a text string, you can use the wildcard characters — the question mark (?) and asterisk (*) — in the lookup_value argument. A question mark matches any single character; an asterisk matches any sequence of characters. If you want to find an actual question mark or asterisk, type a tilde (~) before the character.

Example

Copy the example data in the following table, and paste it in cell A1 of a new Excel worksheet. For formulas to show results, select them, press F2, and then press Enter. If you need to, you can adjust the column widths to see all the data.

ProductCount
Bananas25
Oranges38
Apples40
Pears41
FormulaDescriptionResult
=MATCH(39,B2:B5,1)Because there is not an exact match, the position of the next lowest value (38) in the range B2:B5 is returned.2
=MATCH(41,B2:B5,0)The position of the value 41 in the range B2:B5.4
=MATCH(40,B2:B5,-1)Returns an error because the values in the range B2:B5 are not in descending order.#N/A