如何随机化Excel行
如何在Excel中随机化许多行如何随机化Excel行,excel,random,Excel,Random,如何在Excel中随机化许多行 For example I have an excel sheet with data in 3 rows. 1 A dataA 2 B dataB 3 C dataC I want to randomize the row order. For example 2 B dataB 1 A dataA 3 C dataC 我可以创建一个新列,并使用=RAND()用随机数填充它,然后根据该列进行排序 但这是最好的方法吗?兰德方程将提供多达25万行,我有25万行
For example I have an excel sheet with data in 3 rows.
1 A dataA
2 B dataB
3 C dataC
I want to randomize the row order. For example
2 B dataB
1 A dataA
3 C dataC
我可以创建一个新列,并使用=RAND()用随机数填充它,然后根据该列进行排序
但这是最好的方法吗?兰德方程将提供多达25万行,我有25万行,所以它似乎可以工作
谢谢
我搜索了一下,虽然很接近,但似乎有点过头了 我通常按照你的描述做:
添加一个带有随机值的单独列(
=RAND()
),然后对该列执行排序
可能是更复杂、更漂亮的方法(使用宏等),但这对我来说足够快和简单。也许整列都是随机数并不是最好的方法,但它可能是@mariusn提到的最实用的方法 在这一点上,这让我在Office 2010工作了一段时间,虽然答案通常都像工作一样,但我只想分享一个额外的步骤,让数字变得独一无二:
=rand()
——这将生成一个介于0和1之间的随机数- 沿着新列向下移动,直到最后一个要随机化的单元格
- 按住Shift键并单击最后一个单元格
- 按Ctrl+D组合键
这是一个宏,允许您在列中洗牌选定的单元格:
选项显式
子ShuffleSelectedCells()
'如果只选择一个单元格,则不执行任何操作
如果Selection.Cells.Count=1,则退出Sub
'将所选单元格保存到数组
Dim CellData()作为变量
CellData=Selection.Value
“洗牌
ShuffleArrayInplaceCellData
'将数组输出到电子表格
Selection.Value=CellData
端接头
子ShuffleArrayInPlace(InArray()作为变体)
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
“我在原地
“这会将InArray随机排列,随机化到位。
资料来源:http://www.cpearson.com/excel/ShuffleArray.aspx
'由Tom Doan修改以使用Selection.Value二维数组。
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
只要_
N只要_
变型温度
“随机化
对于N=LBound(InArray)到UBound(InArray)
J=CLng(((UBound(inaray)-N)*Rnd)+N)
如果J N那么
温度=InArray(N,1)
伊纳雷(N,1)=伊纳雷(J,1)
InArray(J,1)=温度
如果结束
下一个
端接头
您可以阅读注释以查看宏正在执行的操作。以下是如何安装宏:
现在,您可以将“ShuffleSelectedCells”宏指定给图标或热键,以快速随机选择所选行(请记住,您只能选择一列行)。使用Excel Online(谷歌工作表)。。并为Google Sheets安装。。然后在谷歌的工作表中,进入插件选项卡,开始使用电动工具。然后从电动工具菜单中选择随机化。选择洗牌。然后在excel工作表中选择测试选项。然后选择每行的
单元格
,然后从电动工具菜单中单击洗牌
。这将使每一行的选定单元格相互独立地洗牌。这是一种非常简单的方法,如果不需要的话,无需使其复杂化。我通常会添加一个带有随机值的单独列(=RAND()
),然后对该列执行排序。不确定这是最好的还是最快的方法,但肯定只起作用。RAND
对大约一百万个数字的限制只适用于早期版本的Excel。自Excel 2003以来,这一问题已得到解决。看到或。。。只需在单个单元格上使用=rand()
,然后双击所选单元格右下角的小点即可将其应用于整个列。