View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.misc
Pete_UK Pete_UK is offline
external usenet poster
 
Posts: 8,856
Default SMALL FUNCTION - How it works

Breaking this formula down, you have:

=IF(ISERROR(small_function),"",INDEX(small_functio n))

Basically, this means if the small function returns an error then
return a blank, otherwise apply the small function to an INDEX.

The small function itself, i.e.:

SMALL(Data!$F:$F,ROWS($A$1:A1))

uses ROWS($A$1:A1) which returns 1, 2, 3 etc when it is copied to
different rows, so it is just a convenient way to have the parameter
increment when the formula is copied down. It will find the smallest
value of the array Data!F on the first row, then the next smallest on
the second row, then the third smallest on the third row etc.

This part of the formula:

INDEX(Data!A:A,MATCH(SMALL(Data!$F:$F,ROWS($A$1:A1 )),Data!$F:$F,0))

returns the corresponding value from column A of the smallest value in
column F for row 1, then the next smallest for row 2, then the third
smallest for row 3 etc.

Hope this helps.

Pete


On Feb 12, 9:05Â*am,
wrote:
This is another question that requires layman explanation(for Small Function).
I just can't figure out how to operate the function.

I found the Small function in this Formula:

=IF(ISERROR(SMALL(Data!$F:$F,ROWS($A$1:A1))),"", INDEX(Data!A:A,
MATCH(SMALL(Data!$F:$F,ROWS($A$1:A1)),Data!$F:$F,0 )))
-Max xl 97.-

---------------------------------------------------

--Extracted from the HELPER!--
SMALL
Returns the k-th smallest value in a data set. Use this function to return
values with a particular relative standing in a data set.

Syntax
SMALL(array,k)

Array Â* is an array or range of numerical data for which you want to
determine the k-th smallest value.

K Â* is the position (from the smallest) in the array or range of data to
return.

Remarks

If array is empty, SMALL returns the #NUM! error value.

If k ‰¤ 0 or if k exceeds the number of data points, SMALL returns the #NUM!
error value.

If n is the number of data points in array, SMALL(array,1) equals the
smallest value, and SMALL(array,n) equals the largest value.

Example

SMALL({3,4,5,2,3,4,5,6,4,7},4) equals 4
SMALL({1,4,8,3,7,12,54,8,23},2) equals 3

I am even more confused after this.

Thanks.