An often used procedure for something like this is to add a column
containing the RAND() function, and then sort the columns, using the returns
from the RAND() function as the sort keys.
With 10 columns however, this procedure would not "mix up" the relationships
between the rows within these columns. This may or may not be acceptable.
In an adjoining column, or an inserted column, enter,
=RAND()
and copy down as needed.
Now, simply select all the columns and:
<Data> <Sort>
And choose the Rand column as the "Sort By".
Another approach, where sorting the original data is *not* necessary, is to
use a formula which will *display* the original data in a random order,
matching, once again, an out-of-the-way column containing the Rand()
function.
Here however, you could in reality, create 10 columns containing the Rand()
function, and then have 10 columns of formulas, each accessing a different
Rand column, therefore displaying a truly "mixed up", randomized display of
the original 10 columns of data.
A new random display would be produced with each hit of the <F9> (calculate)
key.
With original data in A1:J100
In AA1, enter =RAND(),
And drag across and then down to create 10 columns, AA1:AJ100
Then, let"s say we enter this formula in L1:
=INDEX(A$1:A$100,RANK(AA1,AA$1:AA$100))
Drag across to copy to U1,
Then drag L1:U1 down to copy to Row100.
You now have L1 to U100 displaying a random order of your original data,
where you can now hit <F9>, and get a new random display.