Excel表格中单个 或 多行 多列 位置随机调换

表格中要求 多个 单元格 或者 多行 多列 单元格进行随机调换 位置 按下f9 刷新 位置也会转变

比如a,列 b列 c列 三列随机调换 或者多行
多个 单元格 进行不规定 随机调换

利用Excel中自带的VBA编程可以实现多行或多列位置随机调换。

软件版本:Office2013

方法如下:

    Excel中有三列数据如下,要使其随机调换位置:

    按下Alt+F11,在当前工作表对应的代码区,输入代码如下图所示:

    返回Excel中,按下Alt+F8,点击执行,如下图所示:

    这样,三列中的数据位置就随机调换了:

注意事项:再次执行Alt+F8,执行,即可重新调整位置

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-04-13

假设数据在工作表sheet1的A1:C10,

    复制sheet1的A1:C10到sheet2的A1:C10

    在sheet2的A11:C11填入公式=rand(),在D1:D10填入公式=rand()

    在sheet2的A12填入公式=rank(A11,$A$11:$C$11),向右填充到C列

    在sheet2的E1填入公式=rank(D1,$D$1:$D$10),向下填充到E10

    清除sheet1A1:C10,在A1填入公式=INDEX(Sheet2!$A$1:$C$10,Sheet2!$E1,Sheet2!A$12)

    向右向下填充填满A1:C10

    需要的话可以隐藏sheet2

第2个回答  2019-02-12
不用那么麻烦利用随机函数需要加一个辅助列,用这个=RANDBETWEEN(1,10000)产生随机数然后按照这列排序就可以了,f9刷新随机数追问

具体怎么弄 能设置 演示一下吗

追答

再最前面插入一行,然后从需要随机调换的行的第一行输入=RANDBETWEEN(1,10000)然后向下填充,f9是刷新,然后选择要排序的区域也包括刚刚插入的序号的列,点击排序-自定义排序-选择RANDBETWEEN(1,10000)所在的行排序就可以了

第3个回答  2019-02-11
用vba可以实现
第一步:记录每个单元格的值
第二步:调用随机函数,获取单元格的取值序号
对第二步进行循环
第三步:将结果重新写入单元格追问

具体怎么做可以列出来吗 我不是很经常用 不是很懂这些东西
麻烦你了

追答

这个要看具体有多少行,多少列,每个单元格的内容是文本?还是数值?

追问

随机数值 和随机符号

第4个回答  2019-02-10
这个可能需要公式
或者公式的合集——vba
试试吧,但愿能够帮助您!
相似回答