Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2603|回复: 9

[已解决]随机数生成问题

[复制链接]
发表于 2011-2-13 10:48 | 显示全部楼层 |阅读模式
随机数生成问题-15到15之间  而且加起来等于0
最佳答案
2011-2-13 12:13
本帖最后由 nothingwmm 于 2011-2-13 12:32 编辑

解答1: VBA解法 参考楼上的答案代码
  1. Sub change()
  2. Dim X%, Y%
  3. Randomize
  4. Do
  5.     For X = 9 To 18
  6.         For Y = 4 To 6
  7.             Cells(X, Y) = Int(Rnd * 30 - 15)
  8.             If Application.Sum(Range("D9:F18")) = 0 Then End
  9.         Next Y
  10.     Next X
  11. Loop
  12. End Sub
复制代码


QQ截图未命名.jpg
解答2:函数法
1. 将区域内所有单元格公式设置为
=INT(RAND() * 30 - 15)
2. 将其中一个单元格公式改为:
=0-ABS(SUM(D9:F17,D18:E18))
通过任意改变其他区域单元格值改变本区域值,直到该单元格的值在-15-15之间。
也可以哦。
公式法.jpg



随机数问题.rar

1.51 KB, 下载次数: 17

 楼主| 发表于 2011-2-13 10:53 | 显示全部楼层
回复

使用道具 举报

发表于 2011-2-13 10:58 | 显示全部楼层
生成随机数好开弄,但是并且要它们的和等于零就不好办啦吧。
期待高手来解决。。
回复

使用道具 举报

发表于 2011-2-13 10:59 | 显示全部楼层
是的,有同感 。
回复

使用道具 举报

 楼主| 发表于 2011-2-13 11:01 | 显示全部楼层
急用 望高手帮忙啊 谢谢了啊
回复

使用道具 举报

 楼主| 发表于 2011-2-13 11:08 | 显示全部楼层
还要加起来等于0啊  

点评

加起来等于0,是不是要用到VBA不停地算了哇。  发表于 2011-2-13 11:19
回复

使用道具 举报

发表于 2011-2-13 11:39 | 显示全部楼层
{:011:}{:011:}
回复

使用道具 举报

发表于 2011-2-13 11:59 | 显示全部楼层
本帖最后由 mxg825 于 2011-2-15 13:11 编辑

VBA代码1:
Sub MXG825()
Dim X%, Y%
Randomize
Do
    For X = 1 To 10
        For Y = 1 To 3
            Cells(X, Y) = Int(Rnd * 30 - 15)
            If Application.Sum(Range("A1:C10")) = 0 Then End
        Next Y
    Next X
Loop
End Sub


VBA代码2:

Sub MXG825()
Dim X%, Y%
Randomize
Do
    X = Int(Rnd * 10 + 1)
    Y = Int(Rnd * 3 + 1)
            Cells(X, Y) = Int(Rnd * 30 - 15)
            If Application.Sum(Range("A1:C10")) = 0 Then End
Loop
End Sub

随机数问题VBA.rar

6.91 KB, 下载次数: 3

评分

参与人数 1 +3 收起 理由
nothingwmm + 3 我是借花献佛!你的代码很好

查看全部评分

回复

使用道具 举报

发表于 2011-2-13 12:13 | 显示全部楼层    本楼为最佳答案   
本帖最后由 nothingwmm 于 2011-2-13 12:32 编辑

解答1: VBA解法 参考楼上的答案代码
  1. Sub change()
  2. Dim X%, Y%
  3. Randomize
  4. Do
  5.     For X = 9 To 18
  6.         For Y = 4 To 6
  7.             Cells(X, Y) = Int(Rnd * 30 - 15)
  8.             If Application.Sum(Range("D9:F18")) = 0 Then End
  9.         Next Y
  10.     Next X
  11. Loop
  12. End Sub
复制代码


QQ截图未命名.jpg
解答2:函数法
1. 将区域内所有单元格公式设置为
=INT(RAND() * 30 - 15)
2. 将其中一个单元格公式改为:
=0-ABS(SUM(D9:F17,D18:E18))
通过任意改变其他区域单元格值改变本区域值,直到该单元格的值在-15-15之间。
也可以哦。
公式法.jpg



随机数问题 正解.rar

12.46 KB, 下载次数: 2

随机数问题 正解 公式法.rar

12.63 KB, 下载次数: 8

回复

使用道具 举报

发表于 2011-2-13 13:36 | 显示全部楼层
{:1112:}   
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-17 17:38 , Processed in 0.319417 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表