excel公式求救,把从第一列随机抽取不重复的3个数,组合到第二列中?

如图,从第一列随机抽取不同的3个数,组合到第二列(数值组合中间留个空格)。如第二列数值为2 9 8,但不能出现2 2 9,或类似3 5 3,即在第一列是要抽取不一样的数字。谢谢!

用辅助列实现,如图:

B到E列为辅助列,C1用公式:

=LARGE(IF(COUNTIF(B$1:B1,$A$1:$A$18)=0,$A$1:$A$18),RANDBETWEEN(1,19-COLUMN(A1)))

数组公式,按组合键CTRL+SHIFT+回车,完成公式,右拉到E列;

最后在F1输入三个不重复的A列数据:(高版本)

=TEXTJOIN(" ",,C1:E1)

或:(用于2016及以下版本)

=C1&" "&D1&" "&E1

温馨提示:答案为网友推荐,仅供参考
第1个回答  2022-05-15

MS2019+或WPS2019+版本支持:

=TEXTJoin(" ",,SMALL(MOD(SMALL(RANDBETWEEN(ROW($1:$18)^0,100)*10^13+$A$1:$A$18,{1,2,3}),10^13),{1,2,3}))

ctrl+shift+回车(A列最大支持13位数)

全部版本支持:

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(TEXT(SUM(LARGE(MOD(SMALL(RANDBETWEEN(ROW($1:$18)^0,100)*10^5+$A$1:$A$18,{1,2,3}),10^5),{1,2,3})*10^5^{0,1,2}),"0 00000 00000")," 0"," ")," 0"," ")," 0"," ")," 0"," ")

ctrl+shift+回车(A列最大支持5位数)

追问

我电脑刚好是WPS2019+的,可用,谢谢!
补充问下抽取不重复的,如果是5个数,新的公式是什么?谢谢!

追答

前面公式有些许失误,没有引用A列值,现已改,5个数公式如下:

=TEXTJoin(" ",,SMALL(MOD(SMALL(RANDBETWEEN(ROW($1:$18)^0,100)*10^13+$A$1:$A$18,ROW($1:$5)),10^13),ROW($1:$5)))

ctrl+shift+回车(要几个数就将公式中粗体5改成几)

本回答被提问者采纳