VLOOKUP

    Lookup & Reference

    Searches for a value in the first column of a table and returns a value in the same row from a column you specify.

    Translations
    EnglishVLOOKUP
    FrenchRECHERCHEV
    SpanishBUSCARV
    GermanSVERWEIS
    ItalianCERCA.VERT
    PortuguesePROCV
    DutchVERT.ZOEKEN
    PolishWYSZUKAJ.PIONOWO
    RussianВПР
    TurkishDÜŞEYARA
    CzechSVYHLEDAT
    HungarianFKERES
    SwedishLETARAD
    DanishLOPSLAG
    FinnishPHAKU
    Syntax
    VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])

    Arguments

    • lookup_valueThe value to search for in the first column
    • table_arrayThe table range containing the data
    • col_index_numThe column number to return the value from
    • range_lookupTRUE for approximate match, FALSE for exact match(optional)
    Examples
    =VLOOKUP("Apple",A1:C10,2,FALSE)
    Price

    Finds 'Apple' and returns the value from column 2

    =VLOOKUP(A1,Products!A:D,3,FALSE)
    Category

    Looks up A1 in another sheet and returns column 3

    =VLOOKUP(100,A1:B10,2,TRUE)
    Nearest match

    Finds the closest value less than or equal to 100

    Tips & Best Practices
    • Always use FALSE for exact match unless you need approximate matching
    • VLOOKUP can only search the leftmost column of your table
    • Consider using INDEX/MATCH or XLOOKUP for more flexibility
    Common Mistakes
    • Leaving range_lookup blank or set to TRUE - Excel then hands you the closest match instead of the one you actually asked for, with no warning
    • Trying to pull a value from a column to the left of your search column. VLOOKUP simply can't do that, it only looks right
    • Copying the formula down with a relative table_array reference, so row 50 is suddenly searching the wrong table. Lock it with $A$1:$C$100 or a named range
    Related Functions
    XLOOKUPThe modern option - looks in any direction and skips the column-counting entirely
    INDEXPair it with MATCH when you need to search to the left, something VLOOKUP flatly refuses to do
    MATCHTeams up with INDEX for a lookup that isn't stuck on the leftmost column
    HLOOKUPSame idea as VLOOKUP, just turned 90 degrees - it searches the first row instead
    Frequently Asked Questions

    Why does VLOOKUP return the wrong value or #N/A even though the data is right there?

    Nine times out of ten, it's range_lookup left blank or set to TRUE, which quietly triggers an approximate match. Set it to FALSE and most of these issues disappear. If that's not it, check for extra spaces, mismatched data types (text vs number), or a table_array that doesn't actually include your lookup column.

    Can VLOOKUP look to the left of the lookup column?

    No, and this catches a lot of people out. VLOOKUP only searches its first (leftmost) column and returns values to the right of it. For anything else, INDEX/MATCH or XLOOKUP is the answer.

    Is VLOOKUP on its way out, replaced by XLOOKUP?

    Microsoft clearly wants XLOOKUP to take over - it's more flexible and less fussy to write. But VLOOKUP runs in every Excel version ever made and it's baked into millions of existing workbooks, so it's not going anywhere soon. Worth learning both.

    Need to translate a formula using VLOOKUP?

    Use our translator to convert your complete formula