我想用excel随机生成数,1-999之间的~但是不要重复而且是随机的,顺序是打乱的求高手指点。800个数就行~

如题所述

是整数还是连小数什么的都算上?如果是整数的话也就999个数里面随机挑800个,只要在A列按顺序填充1-999这些数字,然后在B列生成随机数:
=rand()
按照B列排序,A列随意的删除前面或者后面的199个数即可
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-05-08
如果是随即实数就用
=RAND()*998+1
随机整数:
=int(rand()*998)+1
第2个回答  2012-05-08
在单元格中输入公式:=INT(RAND()*999+1),向下向右填充都行。
注意:RAND()返回大于等于 0 及小于 1 的均匀分布随机实数,每次计算工作表时都将返回一个新的随机实数。
第3个回答  2012-05-08
excel有随机数函数,RAND()
可以生成0~1的随机数
第4个回答  2012-05-08
236
593
702
268
575
577
990
931
250
810
770
408
630
494
499
134
969
178
589
681
110
651
738
780
432
83
500
60
413
119
146
315
604
275
416
470
64
458
437
945
273
174
506
344
513
397
260
68
641
365
546
881
423
594
381
58
145
760
265
139
43
692
844
517
800
983
525
69
625
330
279
683
402
384
206
876
152
609
549
729
124
325
8
783
921
300
226
953
189
417
363
979
579
527
898
32
792
719
244
942
467
724
232
603
551
462
649
766
66
158
101
52
957
347
890
481
849
133
964
834
823
996
239
663
626
970
421
57
878
163
249
608
529
918
547
959
764
405
756
574
445
46
39
366
631
180
434
157
59
804
710
252
790
870
271
463
913
923
884
572
422
819
727
895
154
774
666
914
833
777
776
474
565
165
312
468
894
866
965
503
984
447
779
309
79
879
861
809
768
924
51
825
228
53
903
987
263
540
343
213
202
130
605
586
857
89
201
634
461
286
307
974
791
806
356
585
661
583
840
316
436
856
897
240
37
137
669
842
210
620
607
943
383
348
40
407
251
554
45
814
377
147
733
221
211
323
424
741
824
573
769
294
71
624
502
688
353
633
161
906
370
815
164
34
747
295
514
4
665
976
94
999
175
966
695
885
128
151
270
324
901
701
831
87
818
812
104
76
623
193
298
247
313
956
734
428
460
411
707
376
387
237
70
822
333
420
993
699
491
340
153
905
511
788
615
346
962
371
304
219
893
114
622
757
328
538
793
429
544
72
835
20
656
954
120
385
493
900
170
653
223
47
911
670
14
955
446
288
750
854
256
868
858
596
190
944
259
18
322
600
379
642
742
711
185
246
199
909
272
257
771
758
389
156
571
121
465
566
17
952
55
852
81
720
912
54
598
875
830
826
581
508
431
977
142
672
496
988
853
173
664
276
395
98
618
108
673
310
88
933
149
716
320
778
382
584
522
475
587
327
865
159
242
177
524
961
394
693
329
49
674
998
380
872
781
464
126
245
995
16
287
317
477
763
74
687
936
650
435
926
713
166
773
568
277
238
698
187
816
660
99
456
9
531
612
863
281
613
545
636
150
301
726
253
951
927
730
459
908
36
728
78
67
799
480
682
438
331
841
466
448
671
997
38
610
495
989
751
899
847
326
512
886
487
29
972
443
685
184
655
50
486
472
992
6
567
668
212
374
873
453
591
118
949
254
578
214
308
48
621
372
935
732
341
248
934
284
705
482
321
220
217
338
485
552
27
162
602
991
938
889
950
452
821
628
132
3
306
679
215
439
369
360
973
299
264
235
523
582
179
813
451
469
334
208
112
125
836
680
230
595
658
929
509
390
489
892
975
403
492
744
888
332
457
564
743
516
255
647
638
832
335
123
358
399
225
82
305
33
194
222
192
629
505
167
24
227
191
182
718
354
696
896
85
84
73
296
15
455
580
441
767
234
803
269
311
282
919
80
646
476
746
160
704
851
862
845
643
102
35
406
794
576
90
364
640
65
910
967
637
759
362
444
837
95
657
784
562
519
127
433
361
968
557
440
601
850
543
77
30
373
534
63
859
418
171
2
755
678
62
97
753
131
789
691
61
617
537
229
662
985
19
775
535
278
752
659
765
761
207
204
941
473
958
490
654
518
632
745
904
267
129
116
994
947
289
198
176
928
291
218
483
484
860
498
337
639
243
739
948
352
115
56
676
801
401
592
808
107
561
172
902
797
471
817
31
694
737
103
414
772
569
28
708
351
864
449
195
644
41
388
536
925
216
135
887
795
829
982
606
690
915
846
667
22
874
106
616
530
412
314
350
717
319
712
559
677
877
336
144

'我做的函数是:
Sub Test()
Dim StartNo As Integer, EndNo As Integer
Dim MyRnd As Single
Dim Dic As Object, x As Integer
Set Dic = CreateObject("Scripting.Dictionary")

StartNo = 1
EndNo = 999

While x < 800

MyRnd = Int(Rnd * (Abs(StartNo - EndNo) + 1)) + IIf(StartNo >= EndNo, EndNo, StartNo)

If Not Dic.Exists(MyRnd) Then

Dic.Add MyRnd, ""
ActiveSheet.Range("A1").Offset(x, 0).Value = MyRnd
x = x + 1
End If
Wend

End Sub
第5个回答  2012-05-20
你先用RAND()函数生产999个随机数,再用RANK函数将所产生的随机数排名,就不会重复了。如在B1中输入公式:=RANK(A1,$A$1:$A$999),copy至B800。B列就为不重复的1-999的随机数了。

我想用excel随机生成数,1-999之间的~但是不要重复而且是随机的,顺序...
是整数还是连小数什么的都算上?如果是整数的话也就999个数里面随机挑800个,只要在A列按顺序填充1-999这些数字,然后在B列生成随机数:=rand()按照B列排序,A列随意的删除前面或者后面的199个数即可

如何在excel随机生成1000个从0-999的整数,而且不能重复,谢谢
1. 先在选项的公式选项卡中勾选“启用迭代计算”,确定。2. 比如要在A列中生成,选择A1:A1000,输入公式:=IF(OR(A1=0,A1="",COUNTIF(A$1:A$100,A1)>1,ISERROR(A1)),RANDBETWEEN(0,999),A1)按Ctrl+回车键,同时在A1:A1000中输入公式 3. 用条件格式验证,选择A1:A1000,条件格式,公式...

excel怎么生成随机数?
1、用randbetween函数生产一个范围内的随机数值整数部分,公式:=RANDBETWEEN(最小值,最大值);2、用rand函数生产随机数字(小数部分),公式=RAND();3、用round函数处理小数点位数,公式=round(数值,保留小数点后几位有效数)4、举例:假设生成0到100之间的随机数,保留小数点后2位有效数。整个公式...

如何在excel表中随机填上一定范围内的数字
1 Excel中可以利用randbetween函数生成指定范围内的随机整数,如下图所示,在B1:B4中生成1到100内的随机数字,选择区域,输入公式如下。2 按下Ctrl+Enter结束输入,得到随机数字如下所示。3 按下F9,随机数字会刷新,如下图所示。4 如果要生成随机小数,可以考虑在Randbetween后面除以10的倍数,如...

用excel生成1万个不重复的随机数
如果需要生成随机且不重复的编码,那么重点在不重复,即使随机函数RAND()在一万行中都有重复的机率,因此考虑选择辅助列,比如C列的C1:C10000区域,输入=RAND()*RAND() 按Ctrl+Enter组合键结束 来避免重复 然后在A1单元格输入以下公式,然后向下填充公式至10000行,得到随机不重复的编码 ="201401"&...

如何在excel中生成一个100~999的随机整数
采用如下公式之一 =RANDBETWEEN(100,999) 2003版本 要在工具菜单下 单击加载宏 勾选 分析工具库 确定 才能应用此函数 =INT(RAND()*900)+100 =INT(RAND()*900+100)=CEILING(RAND()*899,1)+100

excel中,如何随机取0-999中500个不重复的正整数?
在第一个单元格(比如:A1)输入下面的公式:=ROUNDDOWN(RAND()*1000,0)完成后向下复制公式到第500个单元格(比如:A501)即可。

excel中,随机数不重复的问题
首先,将你的所有单元格区域定义一个名称。如:_1 然后,在函数或公式中引用它。如你所说,先将M14~M27,M41~M58,...等等,定义为一个名称,这个名称可以是任意的(除数字),如:_1 然后将你的式子中的M$14:M$27改为名称引用"_1",结果如下:=IF(COUNTIF(_1,M14)=1,M14,CHOOSE(RANDB...

excel中在取1-100之间不重复的随机整数,如何实现?使用什么函式?
Excel 19之间取不重复的随机数,用什么函式 A2阵列公式,输入后不要直接回车,要按三键 CTRL+SHIFT+回车 下拉。=SMALL(IF(COUNTIF(A$1:A1,10-ROW($1:$10))=0,10-ROW($1:$10)),INT(RAND()*(10-ROW(A1)))+1)或者用这公式也行:(此公式输入后直接回车即可,无需按三键)=SMALL(IF(...

excel随机数生成
固定第三位数的方法,是分开生成,例如生成XX-YYY的随机数公式:=TEXT(INT(RAND()*99),"00") &"-" & TEXT(INT(RAND()*999),"000")随机生成几个符号之一的方法,是使用INDEX,例如下面的公式生成ABC之一:=INDEX({"A","B","C"},RANDBETWEEN(1,3))现在能写出你需要的公式了吧~~~以上...

相似回答