如何用excel产生1-100的随机数字,且不能有重复。谢谢

如题所述

难点在不能重复
A2粘贴公式
=SMALL(IF(COUNTIF(C$1:C1,ROW($1:$100)),65536,ROW($1:$100)),ROUNDUP(RAND()*(101-ROW(A1)),))
粘贴完后不要回车,按ctrl+shift+enter三键组合结束
公式下拉即可追问

试过了,在A2单元格中输入你给的公式和方法,按ctrl+shift+enter三键组合后,仍能出现几个相同的随机数字,请具体说明一下如何修改,谢谢。

追答

哦,不好意思忘记把C改为A了
A2粘贴公式
=SMALL(IF(COUNTIF(A$1:A1,ROW($1:$100)),65536,ROW($1:$100)),ROUNDUP(RAND()*(101-ROW(A1)),))
步骤一样

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-08-10
=int(100*rand()+1)
第2个回答  2011-08-10
一般来说是这样做:
1. 先对每个人名产生一个随机数(如在另一个SHEET里给A1-A1000用公式,=RAND(),先对A1做,然后复制或拉一下就可以)
2. 按随机数对名单进行排序(将产生的随机数COPY到名单的对应列,在菜单上选扩展排序,对随机数进行排序)
3. 将排序过的名单按顺序赋予1-1000的编号(将第一个赋予1,第二个赋予2,然后一拉就可以了)。
相似回答