Excel中随机抽取中奖者
HDUZN

应用场景:比如随机抽个奖啊,随机抽个人回答问题啊,随机抽个人演讲啊,随机抽人排值班啊……

如下图所示,要在这一列姓名中随机抽出一个人来。

思路:

  • 1.在一列中写上姓名,用COUNTA函数统计有内容的总人数
  • 2.用RANDBETWEEN函数从总人数范围内随机抽取一个人的序号
  • 3.用INDEX函数返回序号对应的人的姓名

1.用COUNTA函数统计总人数

COUNTA函数:计算范围中不为空的单元格的个数。
语法:COUNTA(value1, [value2], …)

  • value1:必需。 表示要计数的值的第一个参数。
  • value2,…:可选。表示要计数的值的其他参数,最多可包含 255 个参数。
1
2
3
4
5
计算单元格A2到A6中的非白单元格的数量:
=COUNTA(A2:A6)

计算单元格A列中的非白单元格的数量:
=COUNTA(A:A)

2.用RANDBETWEEN函数从总人数范围内随机抽取一个人的序号

RANDBETWEEN函数:返回位于两个指定数之间的一个随机整数。
语法:RANDBETWEEN(bottom, top)

  • bottom:必需。 RANDBETWEEN 将返回的最小整数。
  • top:必需。 RANDBETWEEN 将返回的最大整数。
1
2
3
4
5
返回1到100之间的一个随机整数:
=RANDBETWEEN(1,100)

返回A列中从2开始到A列中的非白单元格的数量之间的一个随机整数:
=RANDBETWEEN(2,COUNTA(A:A))

3.用INDEX函数返回序号(行号)对应的人的姓名

使用 INDEX 函数有两种方法,我们这里用的是数组形式:
INDEX函数:返回表元素或数组元素的值,该元素是通过行号和列号索引选定的。
语法:INDEX(array, row_num, [column_num])

  • array:必需。 单元格区域或数组常量。(如果数组只包含一行或一列,则相对应的参数 row_num 或 column_num 为可选参数。)
  • row_num:必需。 除非存在 column_num。 选择array中的某行,函数从该行返回数值。 如果省略 row_num,则需使用 column_num。
  • column_num:可选。选择数组中的某列,函数从该列返回数值。 如果省略 column_num,则需使用 row_num。
1
2
3
4
5
6
7
8
返回位于区域A2:B3中第二行和第一列交叉处的数值(即A3的数值):
=INDEX(A2:B3,2,1)

返回A列中第5行的值:
=INDEX(A:A,5)

返回A列中随机一个有内容的单元格的的值:
=INDEX(A:A,RANDBETWEEN(2,COUNTA(A:A)))

最终使用的公式是:=INDEX(A:A,RANDBETWEEN(2,COUNTA(A:A))),结果如下图所示:

PS.按F9键(笔记本可能是Fn+F9),即可随机抽取一个出来;
按住F9键(Fn+F9),可以看到随机效果,松开时即会随机抽出一个人来。

PPS.Excel中常用函数应用介绍:Post not found: 【不断更新系列】Excel常用函数

  • 本文标题:Excel中随机抽取中奖者
  • 本文作者:HDUZN
  • 创建时间:2022-09-25 11:43:05
  • 本文链接:http://hduzn.cn/2022/09/25/Excel中随机抽取中奖者/
  • 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
 评论