EXCEL随机取数后肿么让其数值不再变化 请高手做答

举报 回答
EXCEL随机取数后肿么让其数值不再变化 请高手做答
问在线客服
扫码问在线客服
  • 回答数

    4

  • 浏览数

    8,692

举报 回答

4个回答 默认排序
  • 默认排序
  • 按时间排序

没找到满意答案?去问豆包AI智能助手
取消 复制问题
已采纳
根据您的需求,有两种可行的方法来实现随机数的生成。下面是详细解释:
方法一:复制粘贴数值到原处
要使用此方法,首先需要产生一个随机数,并将其复制到目标单元格。您可以在B1单元格中插入一个随机数,并将其格式设置为数值类型。然后,在其他单元格中使用公式=VLOOKUP(B1,A:A,ROW(A:A),0)来查找该行对应的值。注意,在此公式中,A:A表示整个表格范围,ROW(A:A)表示当前行的行号。
方法二:使用宏代码直接在单元格中生成随机数
如果只是希望每次按下按钮或执行某个操作时都能生成一个新随机数,那么使用宏代码可能更为方便。您可以创建一个宏,在每次点击按钮或执行某个操作之前运行该宏即可实现自动更新。
以上两种方法都能够满足您对生成特定范围内随机数的需求。根据具体需求和软件环境的不同,选择合适的方法将会更加合适。
取消 评论
又改了一下,我想你用的是2003,而我是在2007中测试的.你再试试吧.另外你要将数字改成其他指定数字,可以用大米的方法吧.你试试好了. sub random() dim a as integer dim b as integer a = int(rnd() * 500) + 1 b = int(rnd() * 8) + 1 for x = 1 to 2000 do while cells(a, b).value "" a = int(rnd() * 500) + 1 b = int(rnd() * 8) + 1 loop cells(a, b) = int(rnd() * 15) + 1 do while worksheetfunction.countif(range("a" & a & ":h" & a), cells(a, b)) 1 cells(a, b) = int(rnd() * 15) + 1 loop next for x = 1 to 1200 do while cells(a, b).value "" a = int(rnd() * 500) + 1 b = int(rnd() * 8) + 1 loop cells(a, b) = int(rnd() * 21) + 16 do while worksheetfunction.countif(range("a" & a & ":h" & a), cells(a, b)) 1 cells(a, b) = int(rnd() * 21) + 16 loop next for x = 1 to 800 do while cells(a, b).value "" a = int(rnd() * 500) + 1 b = int(rnd() * 8) + 1 loop cells(a, b) = int(rnd() * 14) + 37 do while worksheetfunction.countif(range("a" & a & ":h" & a), cells(a, b)) 1 cells(a, b) = int(rnd() * 14) + 37 loop next for x = 1 to 500 range("a" & x & ":h" & x).sort key1:=range("a" & x), order1:=xlascending, header:= _ xlguess, ordercustom:=1, matchcase:=false, orientation:=xllefttoright, _ sortmethod:=xlpinyin, dataoption1:=xlsortnormal next end sub
取消 评论
手动点到公式,F9,一步步看结果,就不会再变。要不你就写个宏,复制然后选择性粘贴数字和格式
取消 评论
首先生成随机数,然后复制随机数区域,粘贴到空白区域,“编辑”-》“选择性粘贴”-》“值”-》“确定”。
取消 评论
ZOL问答 > EXCEL随机取数后肿么让其数值不再变化 请高手做答

举报

感谢您为社区的和谐贡献力量请选择举报类型

举报成功

经过核实后将会做出处理
感谢您为社区和谐做出贡献

扫码参与新品0元试用
晒单、顶楼豪礼等你拿

扫一扫,关注我们
提示

确定要取消此次报名,退出该活动?