在excel表中随机抽取不重复人名 (excel怎么随机生成不重复数字)

今天这篇文章来看一个问题:

excel随机抽取100个不重复名字,在excel表中随机抽取不重复人名

这是遇到的一个实际求助案例,今天我们来分析一下如何实现这个需求。

分析思路:

首先我可以随机给盒号进行排序,序号就是随机的1-60,然后给右边编写固定序号,按照序号,把盒号分配到右边,由于盒号的序号是随机排序的,所以就做到了随机也不重复分配的效果。

操作步骤

首先给右边生成这样的序号,每个序号代表分配到排名这个序号的盒号,这里我是手动输入的这个,接下来我们看如何用函数实现这个序号。

excel随机抽取100个不重复名字,在excel表中随机抽取不重复人名

输入公式=SUM($G$2:$G2)+COLUMN(A1)

右拉下拉全部填充,观察数据发现,有的行会有多余的数字;

excel随机抽取100个不重复名字,在excel表中随机抽取不重复人名

如上图,第三行的17和18应该是空,观察发现,只要加一个判断,也就是这个数字是否大于前面那三个数字即可。

所以对公式进行改进:

=IF(SUM($G$2:$G2)+COLUMN(A1)>SUM($G$2:$G3),"",SUM($G$2:$G2)+COLUMN(A1))

excel随机抽取100个不重复名字,在excel表中随机抽取不重复人名

这里改进的公式还有其他简便写法,我选择了最容易理解的,其他的写法可以自己思考下。

接下来给盒号随机排序

如下动图,添加辅助列,=rand(),随机生成60个随机数,然后对这个随机数进行排名,就得到随机不重复的序号了。

excel随机抽取100个不重复名字,在excel表中随机抽取不重复人名

最后一步,借助vlookup,完成需求

公式如下,用vlookup,去查找序号所对应的盒号。

=IFERROR(VLOOKUP(IF(SUM($G$2:$G2)+COLUMN(A1)>SUM($G$2:$G3),"",SUM($G$2:$G2)+COLUMN(A1)),$A$3:$B$61,2,0),"")

excel随机抽取100个不重复名字,在excel表中随机抽取不重复人名

今天的这个分析思路,借助rand和rank函数,生成随机序列,达到随机不重复分配的效果,学到了吗?