Excel 函数 UNIQUE 不适用于 MAKEARRAY 和 RANDARRAY(多维数组)

Ala*_*W.T 1 arrays excel unique excel-formula excel-lambda

我有一个关于多维数组UNIQUE中随机数生成函数的问题。

独特的不工作 正如您所看到的,我尝试在 5X5 数组内生成一个随机且唯一的数字为 1->100 的数组。

我尝试了两者MAKEARRAYRANDARRAY希望UNIQUE它可以生成随机数,但它仍然产生重复的数字(以红色突出显示)。

以下是使用的公式:

=UNIQUE(MAKEARRAY(5,5,LAMBDA(row,col,RANDBETWEEN(1,100))),,TRUE)
=MAKEARRAY(5,5,LAMBDA(row,col,UNIQUE(RANDBETWEEN(1,100),,TRUE)))
=UNIQUE(RANDARRAY(5,5,1,50,TRUE))
Run Code Online (Sandbox Code Playgroud)

是否有任何解决方法(或 Excel 中任何未知的隐藏函数)?

Sco*_*ner 7

UNIQUE 的问题在于它查看整行或整列。在现有的 5x5 矩阵上使用它不会按单元找到双精度数。因此,您需要创建一列或一行唯一值,然后将其变形为 5x5 网格。

人们可以采取多种方法。

首先创建一个唯一的垂直列表,其中包含 1 到 100 之间的大量随机数:

=WRAPROWS(TAKE(UNIQUE(RANDARRAY(100,,1,100,1)),25),5)
Run Code Online (Sandbox Code Playgroud)

RANDARRAY 创建一个包含 1 到 100 之间 100 个数字的列表,您可能会在该列表中找到至少 25 个唯一数字。

第二个是创建一个 1 到 100 之间的数字列表并对它们进行随机排序:

=WRAPROWS(TAKE(SORTBY(SEQUENCE(100),RANDARRAY(100)),25),5)
Run Code Online (Sandbox Code Playgroud)

两者都会创建一个包含 1 到 100 之间 25 个唯一数字的列表,然后将它们变形为 5 x 5 网格。