You can build a constructed list using the following ...
AIL(Q1,4)
ListMax(3)
Randomize()
Description - Add all items ranked less than 4 from Q1 to the list. Clean the list by including the 1st 3 ranked items only and then randomise the items.
I believe in v7 or earlier you cannot have equal rankings. v8 may allow equal rankings? This code will work fine in both versions.