点击蓝字关注【秋叶AIExcel】

发送【7】

免费领 1000+篇 Excel 精选教程!

打开网易新闻 查看精彩图片

本文作者:小花

本文编辑:竺兰

文末获取配套练习文件。

大家好,这里是秋叶编辑部~

在各种活动中,比如每年的公司年会,抽奖环节总是备受期待,能为活动增添不少欢乐氛围。

而在 Excel 中,我们可以借助强大的函数功能实现多种抽奖需求

今天,咱们就结合实战案例,来详细讲讲 5 种常见的抽奖模式及其公式,让你轻松掌握抽奖的奥秘!

打开网易新闻 查看精彩图片

随机抽取一人

这是最简单的随机抽奖模式,仅返回单一值。

它只需使用Index+Randbetween函数组合就可以轻松搞定。

公式一:单值抽取

=INDEX(A2:A16,RANDBETWEEN(1,COUNTA(A2:A16)))

打开网易新闻 查看精彩图片

公式说明:

Counta 统计参与抽奖的总人数 n,Randbetween 生成 1 到 n 之间的一个随机整数,Index 根据随机整数从人员名单区域 A2:A16 中提取对应的人员姓名,这样就得到了随机抽取的幸运儿啦。

对了,如果你想由浅入深、系统学习 Excel 干货知识,提高效率、减轻工作负担,

那我强烈推荐你报名《秋叶 Excel 高手速成实战课》

名师授课+系统教学+配套练习+社群答疑

长期有效,可反复回看

扫码查看课程详情

打开网易新闻 查看精彩图片

随机抽取不重复多人

随机抽取不重复多人曾是 Excel 函数公式的一座高山,直到Excel 2021 版及 365 版引入了动态数组功能并新增了一些高能函数后,解决这一问题就变得轻而易举了。

公式二:抽取不重复多值

=TAKE(SORTBY(A2:A16,RANDARRAY(15)),3)

打开网易新闻 查看精彩图片

公式说明:

① RANDARRAY(15)

返回一组 15 行的随机数,其中的 Randarray 是专门的随机数组函数,其用法如下:

打开网易新闻 查看精彩图片

② SORTBY(A2:A16,RANDARRAY(①))

根据①中随机数的大小,对 A2:A16 进行排序,从而实现对抽奖名单的随机打乱排序。其中的 Sortby 函数是专门的条件排序函数,其用法如下:

打开网易新闻 查看精彩图片

③ TAKE(②,3)

从②中已乱序排列的获奖名单中取前 3 行数据为最终获奖清单,这里用到了专门用于截取数据区域的 Take 函数,其用法如下:

打开网易新闻 查看精彩图片

各位小伙伴务要理解和掌握Take+Sortby+Randarray函数的这套组合拳,后面三种抽奖模式都将建立在这个组合公式的基础之上,或稍加变形,或部分运用。

打开网易新闻 查看精彩图片

均等分组抽奖

假设奖项分为 3 个等级,每个等级 4 人,需要在 15 人的大名单中一次性抽取出所有获奖人员,这就是分组抽奖模式。

它实际上是随机抽取多值和分组排列两个运算的组合,前者依旧使用 Take+Sortby 和 Randarray 的组合公式,后者则需要引入另一个新函数 Wrapcols 来实现。

公式三:均等分组抽奖公式

=WRAPCOLS(TAKE(SORTBY(A2:A16,RANDARRAY(15)),12),3)

打开网易新闻 查看精彩图片

公式说明:

① TAKE(SORTBY(A2:A16,RANDARRAY(15)),12)

抽取不重复多值公式,原理详见上一公式,不再赘述。

② =WRAPCOLS(①,3)

将①中已随机抽取的获奖名单分成 3 行排列,这是 Wrapcols 函数的基本功能,其用法如下:

打开网易新闻 查看精彩图片

如果每个奖项的人数不同,又该如何设置公式?

很简单,只需将不显示人员姓名的单元格数字格式设置为三个分号【;;;】,即可实现隐藏。

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

二次抽奖

如果我们需要分次抽奖,且已中奖人员不再参与抽奖,该怎么设置公式呢?

核心要点是去除已中奖的重复人员名单,这正好是 Unique 函数的拿手好戏。

公式四:二次抽奖公式

=TAKE(UNIQUE(VSTACK(E2:E5,SORTBY(A2:A16,RANDARRAY(15)))),-3)

打开网易新闻 查看精彩图片

公式说明:

① SORTBY(A2:A16,RANDARRAY(15))

随机乱序排列。

② VSTACK(E2:E5,①)

将乱序排列的大名单追加到已获奖名单之后,形成部分值重复的新数组。其中, Vstack 函数专门用于将不同数组进行组合,其用法如下:

打开网易新闻 查看精彩图片

③ UNIQUE(②)

将②返回的部分值重复数组去重,由于已中奖名单 E2:E5 在前,A2:A16 在后,根据 Unique 去重保留第一个不重复值的原理,A2:A16 中的已中奖人员被去除,新数组末尾为未中奖名单。

其中, Unique 函数用法如下:

打开网易新闻 查看精彩图片

④ TAKE(③,-3)

从③返回的不重复数组末尾提取 3 个数值,即为最终获奖名单。

打开网易新闻 查看精彩图片

加权抽奖

如果每个人中奖的概率不同,该怎么设置公式才能根据获奖概率公平抽奖呢?我们用标准概率的倍数来表示不同的中奖概率。

如下图,胡勇军的概率因子为 5,陈静文的概率因子为 1,则表示胡勇军的中奖概率是陈静文的 5 倍。

公式五:加权抽奖公式

=TAKE(UNIQUE(SORTBY(TOCOL(IF(B2:B16>=COLUMN(A:E),A2:A16,0/0),2),RANDARRAY(SUM(B2:B16)))),3)

打开网易新闻 查看精彩图片

公式说明:

① IF(B2:B16>=COLUMN(A:E),A2:A16,0/0)

这是一个数组运算。由于概率因子最大为 5,所以仅返回 Column(A:E)5 个列序值。

将概率因子 B2:B16 和列序 1-5 分别比对,概率因子大于或等于列序则返回对应人名,不大于则返回错误值/0!,于是乎,片段①返回一个 15 行×5 列的数据区域,使每个人名都按照其概率因子的大小被重复列示对应次数。

我们单独计算这一片段就可以理解其计算过程。

打开网易新闻 查看精彩图片

② TOCOL(①,2)

将①返回的二维数据表合并为一列,第二个参数 2 表示忽略错误,这样二维表中的/0!就被忽略掉了,仅保留按概率因子指定次数重复的人员名单,重复次数越高,获奖概率越大。

该公式运用 Tocol 函数,其用法如下:

打开网易新闻 查看精彩图片

③ TAKE(UNIQUE(SORTBY(②,RANDARRAY(SUM(B2:B16)))),3)

Sum(B2:B16)将所有概率因子相加,Randarray 返回对应数量的随机数组,从而确保②中的重复人员名单能够被 Sortby 函数完整打乱次序排列,再搭配 Unique 去重和 TAKE 截取,就实现了按概率因子加权抽奖。

以上,就是小花分享的5 种抽奖模式公式,包括:

❶ Index+Randbetween 的单值抽奖公式;

❷ Take+ Sortby + Randarray 的多值抽奖核心套路;

❸ 引入Wrapcols 实现分组抽奖功能;

❹ UNIQUE+VSTACK 构建的去重二次抽奖模式;

❺ TOCOL+IF 区域计算从而做到加权下的随机抽奖。

这 5 个公式循序渐进地引入了不同的新函数,这不仅有助于我们逐步理解复杂的抽奖公式,还能从中学习不同新函数的用法,一举两得。

Excel 里实用的函数有很多很多,学会了,就可能将你的效率提高 10 倍都不止!

去哪学?

推荐《秋叶 Excel 高手速成实战课》这门课专为职场人准备,包含 231节实战教程,全部基于职场真实表格案例设计。

系统全面带你掌握Excel 系统操作、商务图表、函数公式、数据透视表、高效技巧,一站式学透 Excel 表格!

《秋叶 Excel 高手速成实战课》

课程原价 999 元

限时优惠价,仅需 99 元

名师授课+系统教学+配套练习+社群答疑

长期有效,可反复回看

别犹豫了!赶紧扫码抢课

现在报名,随课赠送丰厚资料:

900+ 套精选 Excel 模板

307 个函数清单

100 例图表实战案例

70 个实用图表模板

关注后发送【999】

即可获取练习文件!

打开网易新闻 查看精彩图片