## Explanation

The SMALL function retrieves the smallest values from data based on a given rank. For example:

```
=SMALL(range,1) // smallest
=SMALL(range,2) // 2nd smallest
=SMALL(range,3) // 3rd smallest
```

In the worksheet shown, the rank (which is provided to SMALL as the *k* argument) comes from numbers in column E.

### Retrieve associated values

To retrieve the *name* of the company associated with the smallest bids, we can use an INDEX and MATCH formula. In the worksheet shown, the formula in G7 is:

```
=INDEX(company,MATCH(F7,bid,0))
```

Here, the value in column F is used as the lookup value inside MATCH, with the named range **bid** (C5:C12) for *lookup_array*, and *match_type* set to zero to force an exact match. MATCH returns the location of the value to INDEX as the row number. INDEX then retrieves the corresponding value from the named range **company** (B5:B12). An all-in-one formula to get the company name in one step would look like this:

```
=INDEX(company,MATCH(SMALL(bid,E7),bid,0))
```

*Note: if your values contain duplicates you may get ties when you try to rank. You can use a formula like this to break times.*

### FILTER option

The FILTER function provides a better way to retrieve the top or bottom n values from a set of data. See this page for an example.