The Excel SMALL function returns the k'th smallest value from an array of numeric values.
The format of the function is:
where the function arguments are:
array    An array of numeric values that you want to return the k'th smallest of. 
k    The index (i.e. the function returns the k'th smallest value from the supplied array). 
The array argument can be supplied to the function either directly, or as a reference to a range of cells containing numeric values. If values in the supplied range of cells are text values, these values are ignored.
The following example shows the Excel Small function, used to retrieve the 1st, 2nd, 3rd, 4th and 5th smallest values from the set of values in cells A1A5.
Formulas:
 Results:

Note that in the above example spreadsheet:
Further information and examples of the Excel Small function are provided on the Microsoft Office website.
If you get an error from the Excel Small Function, this is likely to be one of the following:
#NUM!    Occurs if either:

#VALUE!    Occurs if the supplied k is nonnumeric. 
Also, the following problem is encountered by some users:
The Small function returns the wrong value, or returns the #NUM! error, even though the supplied value of k is between 1 and the number of values in the supplied array.
Text values, including text representations of numbers within the supplied array, are ignored by the Small function. Therefore, this problem may arise if the values in the supplied array are text representations of numbers, instead of actual values.
This problem can be solved by converting all array values into numeric values. For details of how to do this, see the Convert Text to Number page.