我使用这个公式:
INDEX($A:$A;RANDBETWEEN(1;COUNTA($A:$A));1)
从列返回值的单元格。 它工作正常,但我需要返回4个值总,我需要所有的人都必须是唯一的。 有任何想法吗?
我使用这个公式:
INDEX($A:$A;RANDBETWEEN(1;COUNTA($A:$A));1)
从列返回值的单元格。 它工作正常,但我需要返回4个值总,我需要所有的人都必须是唯一的。 有任何想法吗?
使用这样的公式:
=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
直接左式第一放置的细胞。