2017-08-13 59 views
1

是否有一個公式來隨機化一列數據,以保持每個項目只表示一次(具有相同的項目)?在Google表格中隨機化單元格

所以:

APPLES 
PEARS 
BERRIES 

出來會爲

PEARS 
BERRIES 
APPLES 

RANDBETWEEN公式沒有很好的在這裏,因爲你可能會得到兩個「PEAR的。

+0

在另一列中使用RANDBETWEEN,然後按此排序。 – pnuts

+0

@pnuts謝謝。你將如何確保沒有重複或缺失值? –

+1

您所要做的只是*排序* - 既不創建也不刪除列表中的條目。 – pnuts

回答

1

有選擇範圍後,在上下文菜單中提供了新的「隨機範圍」功能:

randomize]


下面的辦法實現PNUTS的想法,但沒有創建一個列填充隨機數字:

=query({A2:A20, arrayformula(randbetween(0, 1e20 + row(A2:A20)))}, "select Col1 order by Col2", 0) 

這裏A2:A20是要置換的範圍。 arrayformula爲每個生成一個隨機整數。 query按隨機整數對數組排序,但不會將隨機數放入電子表格中。

randbetween的熵是64位,所以衝突極不可能。即使兩個隨機數恰好相等,也不會產生重複; 排序由任何專欄永遠不會。它只意味着相應的條目對將以其原始順序出現。

+0

不管是哪種方式都會有額外的列,並且在每次計算時都有「新」列表度量可能是一種麻煩 - 儘管OTOH可能正是需要的。 – pnuts

+0

只要注意到現在有一​​個'隨機範圍'選項,如果你右鍵單擊選定的一組單元格。 –