Excel中返回多个独特价值(Excel Return Multiple Unique Values

2019-10-29 21:58发布

我使用这个公式:

INDEX($A:$A;RANDBETWEEN(1;COUNTA($A:$A));1)

从列返回值的单元格。 它工作正常,但我需要返回4个值总,我需要所有的人都必须是唯一的。 有任何想法吗?

Answer 1:

使用这样的公式:

=INDEX(A:A,AGGREGATE(15,6,ROW($A$1:$A$26)/(COUNTIF($C$1:C1,$A$1:$A$26)=0),RANDBETWEEN(1,ROWS(A1:A26)-ROW(1:1)+1)))

随着本地设置:

=INDEX(A:A;AGGREGATE(15;6;ROW($A$1:$A$26)/(COUNTIF($C$1:C1;$A$1:$A$26)=0);RANDBETWEEN(1;ROWS(A1:A26)-ROW(1:1)+1)))

由于这不是指式它必须放置在第二或下部排在上面的细胞和$C$1:C1必须参照细胞直接式的第一个实例的上方。

然后拖下来的4倍。


骨料是阵列式类型。 引用应该只包括那些数据集。 全列引用应该避免,因为它会迫使总结做更多的计算比需要,并会在这种特殊情况下返回空白。

要自动只包括数据集,成长或取决于A列中的数据缩水,使用:

=INDEX(A:A;AGGREGATE(15;6;ROW($A$1:INDEX(A:A;MATCH("zzz";A:A)))/(COUNTIF($C$1:C1;$A$1:INDEX(A:A;MATCH("zzz";A:A)))=0),RANDBETWEEN(1;ROWS($A$1:INDEX(A:A;MATCH("zzz";A:A)))-ROW(1:1)+1)))

编辑#1

要拖动到右边使用这样的:

=INDEX($A:$A;AGGREGATE(15;6;ROW($A$1:INDEX($A:$A;MATCH("zzz",$A:$A)))/(COUNTIF($B$2:B2;$A$1:INDEX($A:$A;MATCH("zzz";$A:$A)))=0);RANDBETWEEN(1;ROWS($A$1:INDEX($A:$A;MATCH("zzz";$A:$A)))-COLUMN(A:A)+1)))

并改变$B$2:B2直接左式第一放置的细胞。



文章来源: Excel Return Multiple Unique Values