永发信息网

有没有办法在这一函数基础上去掉

答案:3  悬赏:70  手机版
解决时间 2021-08-18 07:03
  • 提问者网友:情歌越听越心酸
  • 2021-08-17 21:57

0 ,11  22 33 44 55 66 77 88 99

=INT(RAND()*100)我的要求是取1-99之间的任一数字,可是要去掉 11 和22,33,44,55,66,77,88,99 .越简单越好 不用这个函数做基础也可
最佳答案
  • 五星知识达人网友:低血压的长颈鹿
  • 2021-08-17 23:04
用宏自定义一函数:
Function sjb() As Integer
Application.Volatile
sjb = Int(Rnd() * 100)
Do While Left(sjb, 1) = Right(sjb, 1)
sjb = Int(Rnd() * 100)
Loop
End Function
全部回答
  • 1楼网友:底特律间谍
  • 2021-08-18 00:09
i是取出数, if( i/10 == i%10 && i != 0)就去掉,此式表示十位与百位相同,且不是0。
  • 2楼网友:山河有幸埋战骨
  • 2021-08-17 23:53

使用宏,直接黏贴这样的代码,在A1单元格内生成不重复随机数:

Sub Rand()

Randomize

Dim n As Integer

Do

n = Rnd() * 100

Loop Until (n < 10 Or n Mod 10 <> n / 10)

Sheet1.Range("A1") = n End Sub

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯