请教EXCEL怎么打乱每一行的数据,如图1中,我要将句子分段打乱作为题目,有太多行了,用“=RAND()”按行排列的方法不行,这样只是把ABCDE列的顺序随机交换,如图2B列全是句末,我要的是各行都随机乱序,像图3的样子
图1
图2
图3
当然是要用到RAND函数的,但要每一行分别生成四个随机数。
下面使用五个辅助列F-J列,用于随机生成每一行的排序。
F2=INT(RAND()*5)+1
生成第一个数的位置。从1-5(五列)中随机生成一个数。
G2=MID(SUBSTITUTE("12345",F2,""),INT(RAND()*4)+1,1)
生成第二个数的位置,从1-4(剩下四列)中随机生成一个数。
H2=MID(SUBSTITUTE(SUBSTITUTE("12345",F2,""),G2,""),INT(RAND()*3)+1,1)
生成第三个数的位置。
I2=MID(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE("12345",F2,""),G2,""),H2,""),INT(RAND()*2)+1,1)
生成第四个数的位置。
J2=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE("12345",F2,""),G2,""),H2,""),I2,"")
生成最后一个数的位置。
然后,
K2=INDEX($A2:$E2,F2)
将K2公式向右拉到O2,根据F-J的值,从A-E列取数。
最后,将F2-O2的公式向下复制即可。
不太明白,这样做后每一行还能组成一个句子么?
追答如果每一行还要组成一个句子,那就用行排序就得了~~~~
追问这样会出现图2的结果,导致每一行的数据结构都一样,就像B列全都是句末一节,而且这样做还不如直接剪切、粘贴来的快。
追答我指是的各行独立排序,这样就不会都一样的了。你再录制一个宏,让每一行都循环一遍,最后肯定都是乱乱的~~~~ ^_^
追问不明白宏是怎么的,麻烦你给详细说下步骤,好吗?谢谢、谢谢、非常感谢!