Hallrar wrote...
I have a list of 100 unique words from the area A1:A100. Then I
want EXCEL to randomly fill the area B1:F8 with some of the
words in A1:A100.
No one else has addressed nonduplicates yet. The simplest way is to us
a 100-row by 1-column range somewhere else with each cell containin
=RAND(), then use it along with the LARGE or SMALL function to pic
distinct entries from your list of words. If X1:X100 contained thi
array of random numbers, try
B1 [*array* formula]:
=INDEX($A$1:$A$100,MATCH(LARGE($X$1:$X$100,(ROW()-1)*5
+COLUMN()-1),$X$1:$X$100,0))
Select B1 and fill down into B2:B8, then select B1:B8 and fill righ
into C1:F8.
There's also a way to do this using just the B1:F8 result range.
B1:
=INDEX(A1:A100,INT(1+100*RAND()))
C1 [*array* formula]:
=INDEX($A$1:$A$100,LARGE(IF(COUNTIF($B1:B1,$A$1:$A$100)=0,
ROW($A$1:$A$100)),INT(1+(100-COUNTA($B1:B1))*RAND())))
Select C1 and fill right into D1:F1.
B2 [*array* formula]:
=INDEX($A$1:$A$100,LARGE(IF(COUNTIF($B$1:$F1,$A$1:$A$100)=0,
ROW($A$1:$A$100)),INT(1+(100-COUNTA($B$1:$F1))*RAND())))
C2 [*array* formula]:
=INDEX($A$1:$A$100,LARGE(IF(COUNTIF($B$1:$F1,$A$1:$A$100)
+COUNTIF($B2:B2,$A$1:$A$100)=0,ROW($A$1:$A$100)),
INT(1+(100-COUNTA($B$1:$F1,$B2:B2))*RAND())))
Select C2 and fill right into D2:F2. Then select B2:F2 and fill dow
into B3:F8