2022-12-01 07:44来源:m.sf1369.com作者:宇宇
01
在excel工作表里,随机抽取一个数或两个数。
02
选择数据区域,随机重复,随机抽取
03
选择抽取的个数。不勾选抽中的单元格置空,选择存放位置,完成
04
如果抽中的单元格数据删除,勾选抽中的单元格置空
05
选择存放位置,确定,快速随机抽取数据,完成
用以下方法,Excel 制作抽奖和抽班委原理一样的
我用的版本是 Excel 2016,其他版本的界面可能略有不同。
案例 1:如何从 10 个人中一次性抽取 3 名获奖者,且所有中奖者不重复?
案例 2:如何从 10 个人中依次抽取 1、2、3 等奖各 1 名,每次抽取后固定住获奖者,且所有中奖者不重复?
所需函数及功能:
RAND()
RANK(number, ref, [order])
INDEX(array, row_num,[column_num])
IF(logical_test,[value_if_true],[value_if_false])
Conditional Formatting
为了便于理解,我把每个步骤拆开来讲解。
案例 1 解决方案:
以下是 10 个人员的名单,现在需要从中一次性抽 3 个幸运儿。
1. 在 B 列用 Rand 函数生成 10 个随机数
2. 在 C 列用 Rank 函数对这 10 个随机数排序
公式:=RANK(B2,B$2:B$11)
翻译:计算 B2 单元格在 B2~B11 数组中的排名,默认从大到小排。
3. 在 D 列用 Index 函数按 C 列的随机排名抽出中奖者。因为需要一次抽 3 个人,所以我们拉 3 行公式即可。
公式:=INDEX(A$2:A$11,C2)
翻译:在A列的指定数组中,读取出第 n 行单元格
使用方法 :
按住 F9,数字开始滚动,抽奖开始
放开按键,即为抽奖结果(因为 rand 函数基本不可能出现重复值,所以中奖人不会重复)
* 请注意:由于随机函数每次都会随机变化,为了固定住获奖人员名单,请复制获胜者名单,并且 paste value 到其他单元格。
案例 2 解决方案:
增加的需求:
每次抽一个人,抽出后固定中奖者
不得重复中奖
1. 给 D 的公式加个 if 条件,同时增加辅助列 E
公式:=IF(E2=1,D2,INDEX(A$2:A$11,C2))
翻译:如果 E2 单元格为 1,则固定 D2 单元格的值,否则,继续抽奖
当我们在 E2 中输入“1”以后,无论何时按下或放开 F9 抽奖,D2 的“王7”始终是固定的。
现在我们要抽第 2 个人,但是“王7”不可以重复中奖,怎么做?
在不使用 vba 的情况下,此处推荐一种最简便的方法。
2. 选中 D2~D11 --> 按 Ctrl + Q --> 选择 Formatting --> Duplicate Values
翻译:当“中奖者”区域内有重复人员,则高亮显示
如下,当我们抽第 2 个人的时候,又抽到了“王7”,会自动高亮显示。
3. 现在抽奖器已经做好了,我们把模板调整美观,再写个操作说明。
1) 把人员名单及辅助列移到“人员名单”sheet 中
2) 选中 E 列,通过 Format Cells --> Custom,把“1”显示为“已中奖”
这就是最终的抽奖模板和使用说明,有时间的话,可以加点图片效果什么的,然后就可以在公司年会耍酷啦!
使用说明:
1、将参加抽奖的人员名单,维护在“人员名单”表里面
2、按住 F9 开始抽奖(此时可以看到B列内容一直在变化)
3、一会功夫,放手,B 列此时就是被选出来的“中奖人”
4、在 C 列的第一个黄色单元格输入“1”,以便把“中奖人”锁定
5、重复 2~4 步骤抽二等奖(如果B列出现红色背景,则重复 2~3 步骤)
6、以此类推,抽出三等奖
1.打开Excel软件,新建一空白工作薄.
2.先在“A”列点击鼠标右键选择“设置单元格格式”,在“数字”项选择“文本”点击“确定”按钮。
3.再在“A”列输入编号,如1行输入001,2行输入002后,选择1、2行,这时选择框的右下出现“+”,把“+”用鼠标左键按住往下拖动,即可自动填充所需的人数编号。
4.最后在“B”列输入编号对应的姓名,这样就完成了基本数据项的输入.
5.点击工作薄下的“sheet3”进入另一工作表,先像上面一样把“A”列格式设置为“文本”格式,再在“A”列中随机输入编号(编号已打乱),然后在“B”列第1行输入“=VLOOKUP(A1,Sheet2!A:B,2,)”后按回车即可。点选“B”列第1行右下出现的“+”后,用鼠标左键按住它往下拖动,即可自动填充对应编号的姓名。
打开Excel ,依次点击:"视图" -“宏” - “查看宏”
2.在打开的“宏”窗口输入宏名称-点击【创建】按钮
3.在打开的VB脚本编辑页面,删除已存在的代码,并复制粘贴文件中宏代码:
4.直接关闭VB脚本编辑页面,在第二列输入公式:=getpy(A1)
5.光标定位B1单元格右下角,变成十字形,向下拖拽至数据行尾即可!
在B2输入=rand()然后下拉到b52对B列排序,选定扩展区域即可每排序一次,就打乱一次
只要张三、李五所有的行都列出来:
1、公式法:
在F2输入
=INDEX(A:A,SMALL(IF(($A$1:$A$1000="张三")+($A$1:$A$1000="李五"),ROW($1:$1000),4^8),ROW(1:1)))&""
数组公式,输入后先不要回车,按Ctrl+Shift+Enter结束计算,再向右和向下填充。
2、自定义筛选:
选AB列——菜单栏——数据——筛选——自动筛选——点A1下拉——自定义——出现《自定义自动筛选方式》对话框——显示行:姓名——等于:张三——或(点选)——等于:李五——确定。
01
在excel工作表里,随机抽取一个数或两个数。
02
选择数据区域,随机重复,随机抽取
03
选择抽取的个数。不勾选抽中的单元格置空,选择存放位置,完成
04
如果抽中的单元格数据删除,勾选抽中的单元格置空
05
选择存放位置,确定,快速随机抽取数据,完成
1、打开剪贴板并复制所有姓名
2、双击B1单元格(记住是双击单元格)或选择B1单元格后单击编辑栏。然后单击剪贴板中所复制的内容,中的内容即可复制到B1单元格中
3、选择B1,按Ctrl+H打开“查找和替换”对话框。选择“查找内容”右侧的文本框,按住 Alt 键,在数字小键盘中输入“ 0010 ”,然后再松开Alt键(输入的0010是看不到的只会显示为","),在“替换为”右侧的文本框中输入";"。点击全部替换。