Hi Marvin,
It's not pretty, but here is something like what I mean:
A1:
Formula:
=INDEX({"Sam","Bob","Fred","Sally"},RANDBETWEEN(1,4))
A2:
Formula:
=IF(COUNTIF($B$1:$B1,"Sam")=ROUNDUP(ROW()/4,0),INDEX({"Bob","Fred","Sally"},RANDBETWEEN(1,3)),
IF(COUNTIF($B$1:$B1,"Bob")=ROUNDUP(ROW()/4,0),INDEX({"Sam","Fred","Sally"},RANDBETWEEN(1,3)),
IF(COUNTIF($B$1:$B1,"Fred")=ROUNDUP(ROW()/4,0),INDEX({"Sam","Bob","Sally"},RANDBETWEEN(1,3)),
IF(COUNTIF($B$1:$B1,"Sally")=ROUNDUP(ROW()/4,0),INDEX({"Sam","Bob","Fred"},RANDBETWEEN(1,3)),""))))
A3:
Formula:
=IF(AND(COUNTIF($B$1:$B2,"Sam")=ROUNDUP(ROW()/4,0),COUNTIF($B$1:$B2,"Bob")=ROUNDUP(ROW()/4,0)),INDEX({"Fred","Sally"},RANDBETWEEN(1,2)),
IF(AND(COUNTIF($B$1:$B2,"Sam")=ROUNDUP(ROW()/4,0),COUNTIF($B$1:$B2,"Fred")=ROUNDUP(ROW()/4,0)),INDEX({"Bob","Sally"},RANDBETWEEN(1,2)),
IF(AND(COUNTIF($B$1:$B2,"Sam")=ROUNDUP(ROW()/4,0),COUNTIF($B$1:$B2,"Sally")=ROUNDUP(ROW()/4,0)),INDEX({"Bob","Fred"},RANDBETWEEN(1,2)),
IF(AND(COUNTIF($B$1:$B2,"Bob")=ROUNDUP(ROW()/4,0),COUNTIF($B$1:$B2,"Fred")=ROUNDUP(ROW()/4,0)),INDEX({"Sam","Sally"},RANDBETWEEN(1,2)),
IF(AND(COUNTIF($B$1:$B2,"Bob")=ROUNDUP(ROW()/4,0),COUNTIF($B$1:$B2,"Sally")=ROUNDUP(ROW()/4,0)),INDEX({"Sam","Fred"},RANDBETWEEN(1,2)),
IF(AND(COUNTIF($B$1:$B2,"Fred")=ROUNDUP(ROW()/4,0),COUNTIF($B$1:$B2,"Sally")=ROUNDUP(ROW()/4,0)),INDEX({"Sam","Bob"},RANDBETWEEN(1,2)),""))))))
A4:
Formula:
=IF(COUNTIF($B$1:$B3,"Sam")<ROUNDUP(ROW()/4,0),"Sam",
IF(COUNTIF($B$1:$B3,"Bob")<ROUNDUP(ROW()/4,0),"Bob",
IF(COUNTIF($B$1:$B3,"Fred")<ROUNDUP(ROW()/4,0),"Fred",
IF(COUNTIF($B$1:$B3,"Sally")<ROUNDUP(ROW()/4,0),"Sally",""))))
If you select all four cells and drag down, the block randomization will be maintained).
I don't know if there is a simpler way to accomplish this task 
I just may have to revert back to the original plan and use vba.
abousetta
Bookmarks