excel 如何能让制定单元格区域里的数字,随机且不重复的出现在另一个单元格区域内

2024年10月30日 17:57
有2个网友回答
网友(1):

我不懂VBA,用函数做了一个,你看行不行。

K1=SMALL($A$1:$D$4,ROW(A1))向下复制15行(因为数据共有16个)

L1=SMALL(IF(COUNTIF($D$5:D$5,K$1:K$16),4^8,K$1:K$16),ROW(A1))这个是数组公式向下复制15行,向右复制4列(因为填充的单元格为6个)。

数组公式,公式输完后,光标放在公式编辑栏同时按下CTRL+SHIFT+回车键,使数组公式生效

D5=INDEX(K:K,ROUNDUP(RAND()*(17-COLUMN(A1)),0))向右复制到I5.

按F9键黄色区域可随机选数。

网友(2):

一般用  Dictionary

Function chongzu(L As Range, n)  'L是范围,n 是范围内第几个 不重复的
Dim rng As Range
Set D = CreateObject("SCRIPTING.DICTIONARY")
For Each rng In L
    D(rng.Value) = ""
Next
DK = D.keys: Set D = Nothing
chongzu = DK(n)
End Function