Work & productivity / QUICK REFERENCE
Excel lookups: XLOOKUP, VLOOKUP and INDEX/MATCH
Find values by key, control matching, combine criteria and handle missing results with practical Excel formulas.
Find an exact value
- First matching price
=XLOOKUP(F2,A2:A100,D2:D100,"Not found")Search IDs in A and return the corresponding price from D. [1][2]
- Search in a right-hand column
=XLOOKUP(F2,C2:C100,A2:A100,"Not found")Unlike VLOOKUP, XLOOKUP can return a column to the left. [1][2]
- Hold ranges while copying
=XLOOKUP(F2,$A$2:$A$100,$D$2:$D$100,"Not found")- Return adjacent columns
=XLOOKUP(F2,A2:A100,B2:C100,"Not found")- Trim entered key
=XLOOKUP(TRIM(F2),A2:A100,D2:D100,"Not found")- Convert numeric text key
=XLOOKUP(VALUE(F2),A2:A100,D2:D100,"Not found")
Match types and search direction
- Last matching row
=XLOOKUP(F2,A2:A100,D2:D100,"Not found",0,-1)- Exact or next smaller
=XLOOKUP(F2,A2:A100,D2:D100,"Not found",-1)Fallback to the nearest smaller value when exact is missing. [1][2]
- Exact or next larger
=XLOOKUP(F2,A2:A100,D2:D100,"Not found",1)- Match partial text
=XLOOKUP("*"&F2&"*",A2:A100,D2:D100,"Not found",2)Wildcard mode supports * and ?; prefix special literals with ~. [1][2]
- Binary search ascending
=XLOOKUP(F2,A2:A100,D2:D100,"Not found",0,2)- Binary search descending
=XLOOKUP(F2,A2:A100,D2:D100,"Not found",0,-2)
Work with older Excel
- Classic exact VLOOKUP
=VLOOKUP(F2,A2:D100,4,FALSE)Matches IDs in the first table column and returns its fourth column. [3][2]
- Lock classic table
=VLOOKUP(F2,$A$2:$D$100,4,0)0 means exact match, and dollar signs lock the range. [3][2]
- Hide only missing keys
=IFNA(VLOOKUP(F2,A2:D100,4,FALSE),"Missing")- Lookup a table intersection
=INDEX(B2:E100,MATCH(G2,A2:A100,0),MATCH(H2,B1:E1,0))
Combine criteria and dynamic arrays
- Match two fields
=XLOOKUP(1,(A2:A100=G2)*(B2:B100=H2),D2:D100,"Not found")- Return every match
=FILTER(D2:D100,A2:A100=G2,"No matches")FILTER returns all matching rows, not only the first. [1][2]
- Apply two row conditions
=FILTER(A2:D100,(A2:A100=G2)*(B2:B100=H2),"None")- Add matching amounts
=SUMIFS(D2:D100,A2:A100,G2,B2:B100,H2)Sum qualifying values instead of selecting a single match. [1][2]
- Find a named return column
=XLOOKUP(G2,A2:A100,XLOOKUP(H2,B1:E1,B2:E100),"Not found")- Show first three matches
=TAKE(FILTER(A2:D100,A2:A100=G2),3)Returns up to three rows; no matches still yields an error. [1][2]
- Return nonadjacent columns
=CHOOSECOLS(FILTER(A2:D100,A2:A100=G2),1,4)Shows the first and fourth columns of the filtered result. [1][2]
Reserved placement, separate from reference controls. No ad network is active.
No matching entry. Try a shorter word or clear the search to see the complete sheet.
Sources
cheatsheetatlas.com/sheets/excel-lookups/ · Updated 2026-10-20 · Microsoft Excel 365 / 2024