求EXCEL大佬解答
=TEXT(LARGE(IF(MMULT(--ISNUMBER(FIND({0,1,2,3,4,5,6,7,8,9},TEXT(ROW($12:$987),"000"))),{1;1;1;1;1;1;1;1;1;1})=3,ROW($12:$987)),1+720*RAND()),"000")
按Ctrl+Shift+Enter。
请详细解释谢谢啦 展开
随机 取 三个数字 字符, 要求是 3个数字不重复
原理:
首先,这样的数 有 720个:
最大的 987, 最小的012 ,
=TEXT(LARGE(IF(MMULT(--ISNUMBER(FIND({0,1,2,3,4,5,6,7,8,9},TEXT(ROW($12:$987),"000"))),{1;1;1;1;1;1;1;1;1;1})=3,ROW($12:$987)),1+720*RAND()),"000")
TEXT(ROW($12:$987),"000") 返回012 到987 之间的所有数,这些数有些是不满足要求的,于是需要从中筛选,筛选条件是什么呢?
MMULT(--ISNUMBER(FIND({0,1,2,3,4,5,6,7,8,9},TEXT(ROW($12:$987),"000"))),{1;1;1;1;1;1;1;1;1;1})=3
这部分的意思是 0-9之间 能找到3个不同的数,有任何一个相同的 都过滤掉
LARGE(IF(MMULT(--ISNUMBER(FIND({0,1,2,3,4,5,6,7,8,9},TEXT(ROW($12:$987),"000"))),{1;1;1;1;1;1;1;1;1;1})=3,ROW($12:$987)),1+720*RAND())
1+720*rand() 在1至720 之间随机, 意思就是 在720个满足条件的数里 随便取一个了.
=TEXT(LARGE(IF(MMULT(--ISNUMBER(FIND({0,1,2,3,4,5,6,7,8,9},TEXT(ROW($12:$987),"000"))),{1;1;1;1;1;1;1;1;1;1})=3,ROW($12:$987)),1+720*RAND()),"000")
变成 000 的格式 , 就是 12 显示成 012 ,25 显示成025