## Explanation

The SORTBY function allows sorting based on one or more "sort by" arrays, as long as they have dimensions that are compatible with the data being sorted. In this example, there are 10 values being sorted, the first 10 letters of the alphabet. To generate 10 random numbers to sort with, we are using the RANDARRAY function together with the COUNTA function like this:

```
RANDARRAY(COUNTA(data))
```

COUNTA counts the values in **data**, and returns the number 10, which goes into the RANDARRAY function as the *rows *argument. RANDARRAY returns an array of 10 decimal values like this:

```
{0.634511231774083;0.802832736299988;0.0143439778447176;0.456799995279187;0.535834928742951;0.993607835061287;0.217641630408339;0.638010821263368;0.917156124714596;0.489852948650118}
```

This array is provided to the SORTBY function as the *by_array1* argument. SORTBY uses the random values to sort the data, and returns the 10 letters into a spill range starting in D5.

*Note: RANDARRAY is a volatile function and will recalculate every time the worksheet is changed, causing values to be resorted. To stop values from sorting automatically, you can copy the formulas, then use Paste Special > Values to convert formulas to static values.*