The Excel Lookup, Vlookup and Hlookup functions are all related. The following table lists the differences between these functions:
Lookup    Can lookup values vertically or horizonally; The data to be searched (in the lookup row or column) must be ordered; If an exact match is not found, the Lookup function will match the closest value below the lookup value. 
Vlookup    Performs a Vertical lookup; The user can decide what the function should do if an exact match is not found  either return an error or match the closest value below the lookup value. 
Hlookup    Performs a Horizontal lookup; The user can decide what the function should do if an exact match is not found  either return an error or match the closest value below the lookup value. 
The Excel Lookup function has two forms: the Vector form and the Array form.
These are described individually below.
The vector form of the Lookup function 'looks up' a value in a data vector (i.e. a 1dimensional list of data) and returns the corresponding value from a second data vector.
If the function can't find the exact lookup value, it will match to the closest value below the lookup value.
The syntax of the vector form of the Excel Lookup function is:
Where the arguments are as follows:
lookup_value    The value that you want to look up. 
lookup_vector    A 1dimensional list of data, which you want to search. 
[result_vector]    An optional 1dimensional list of data, from which you want to return a value. If supplied, the [result_vector] must be the same length as the lookup_vector. If the [result_vector] is omitted, the result is returned from the lookup_vector. 
In the spreadsheet below, cells A1E3 relate to a variable interest rate, that is paid on a bank account. For balances of 0$999.99, the interest rate is 3%, for balances of $1000$1,999.99, the interest rate is 4%, etc.
Cell A6 of the spreadsheet shows the balance of a specific bank account. The vector form of the Excel Lookup function is used in cell B6, to look up the interest rate that applies to this balance.
Note that the exact value, 45,000 is not found in the lookup_vector, B1:E1, and so the function matches the closest value below 45,000 (i.e. 10,000) and returns the corresponding value from the [result_vector].
A  B  C  D  E  

1  Lower Balance  $0.00  $1,000.00  $10,000.00  $50,000.00  
2  Upper Balance  $999.99  $9,999.99  $49,999.99  
3  Interest Rate  3%  4%  5%  6%  
4  
5  Acct Balance:  Interest Rate:  
6  $45,000.00  =LOOKUP( A7, B1:E1, B3:E3 )   returns the value 5% 
The Lookup function in cell B6 of the above spreadsheet returns the interest rate of 5%, which is the correct interest rate to apply to a bank account with a balance of $45,000.
In this example:
Note that the vector form of the Excel Lookup function can be used with any two arrays of data that have onetoone matching values. For example, two columns of data, two rows of data, or even a column and a row would work, as long as the lookup_vector is ordered (alphabetically or numerically), and the two data sets are the same length.
Note that Microsoft recommends using the Vlookup or the Hlookup function instead of the Array form of the Lookup function.
The array form of the Lookup function 'looks up' a supplied value in the first column or row of a supplied data array (i.e. a 2dimensional table of data) and returns the corresponding value from the last column or row of the array.
The syntax of the array form of the Lookup function is:
Where the arguments are as follows:
lookup_value    The value that you want to look up. 
array    A 2dimensional array (or table) of data, containing values to be searched in the first row or column and values to be returned in the last row or column. 
In the spreadsheet below, columns AC list the grades that are assigned to examination marks lying within the ranges 044%, 45%54%, etc.
Cell F2 shows the score of 82% that was achieved by the student "Chris" in an examination. The Lookup function in cell G2 looks up this score in column A of the spreadsheet and returns the associated grade from column C.
Note that, the exact score of 82% is not found in column A, and so the function will match against the closest value below this value (i.e. 75%).
A  B  C  D  E  F  G  

1  Lower  Upper  Grade  Name  Score  Grade  
2  0%  44%  F  Chris  82%  =LOOKUP( F2, A2:C7 )   returns the value "B"  
3  45%  54%  E  
4  55%  64%  D  
5  65%  74%  C  
6  75%  84%  B  
7  85%  100%  A 
The above Lookup function returns the grade for the score 82%, which is B.
In this example:
Note: In this example, the Excel Lookup function recognised that it was searching for the lookup_value in the first column of the supplied array, and returning a value from the last column.
For further details and examples of the Excel Lookup function, see the Microsoft Office website.
If you get an error from the Excel Lookup function this is likely to be one of the following:
#N/A    This error indicates that the Lookup function has failed to find a closest match to the supplied lookup_value. This can occur if either:

#REF!    Occurs if the formula is attempting to reference cells that do not exist. This can be caused by either:

Also, the following problem is encountered by some users:
The Excel Lookup function is returning the wrong value.
This problem may arise if the data in the lookup_vector or in the first row or column of the supplied array, is not ordered, (alphabetically or in ascending numerical order).
Try ordering the data by the lookup_vector (for the vector form of the function) or, if using the array form of the function, order by the first row or column of the supplied array. If your data is organised into columns rather than rows, the ordering can be done using the Sort option in the Data tab of the Excel ribbon.
If your Excel Lookup function still returns the wrong result, check that your supplied lookup range(s) contain ONLY the data you want to search. (e.g. if you have used the whole of columns AC as the supplied array, change this to omit any headings and any other data that might be further down the spreadsheet).
The lookup_value and the 'matching' value in the lookup_vector or array may not be considered to be equal by Excel. This may be because either:
Methods of detecting and resolving this problem are described in detail in the Failure to Match Values page.
You may not actually require the function to return a closest match  you may only want a result if an exact match is found. In this case, the Excel Lookup function is not the correct function to use.
Try using the Vlookup Function or the Hlookup Function instead!