Lookup & reference
XMATCH function
Position of an item in a row or column. XMATCH works in Sheets with the usual arguments and results, on cells and on live data from the tools you connect.
Syntax
=XMATCH(lookup_value, lookup_array, [match_mode], [search_mode]) | Argument | Use |
|---|---|
lookup_value | required |
lookup_array | required |
match_mode | optional |
search_mode | optional |
Example
Position of an exact value, without the match-type argument.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Order | Customer | Region | Status | Amount | Date |
| 2 | #1001 | Acme Ltd | North | Paid | 1200 | 2026-01-14 |
| 3 | #1002 | Blue Fox | South | Open | 450 | 2026-01-20 |
| 4 | #1003 | Acme Ltd | North | Paid | 980 | 2026-02-03 |
| 5 | #1004 | Cedar & Co | East | Overdue | 2300 | 2026-02-11 |
| 6 | #1005 | Blue Fox | South | Paid | 610 | 2026-03-02 |
| 7 | #1006 | Delta BV | West | Open | 1750 | 2026-03-09 |
| 8 | 6 |
Result computed by the Sheets formula engine.
On live data
In Sheets, XMATCH sits next to live data from a connected tool: =data.orders.sum(total) totals a table, =list.orders(customer) spills a column's distinct values, and a linked table column such as table.orders[Total] is a range any function accepts.
More lookup & reference functions
FILTERRows or columns that meet a conditionINDEXValue at a row/column of a rangeMATCHPosition of a value in a rangeSORTSort the rows or columns of an arrayUNIQUEDistinct rows or columns of an arrayVLOOKUPLook up down the first columnXLOOKUPLook up a value, return the matching itemADDRESSCell address as textAREASNumber of areas in a referenceCHOOSEPick the Nth valueCHOOSECOLSSelected columns of an arrayCHOOSEROWSSelected rows of an array
Spreadsheet formulas on live business data
Sheets evaluates 491 spreadsheet functions, on cells and on data read live from your tools.