说明:本文介绍的“抽签小帮手”,最适合“由‘一位负责人’在一份抽签/抽奖名单中,一次抽出数码得奖者”的情境,例如粉专办抽奖、尾牙抽奖。想修改中签人数、更改抽签动态效果的话,可以直接修改表单设计,相关教学见此。
如果你想找的抽签工具是有一个“虚拟签筒”链接,让所有参与者到签筒“自己抽签”的模式,那不适合直接使用或修改抽签小帮手来用。建议可以用另外一套逻辑,设计一组 Ragic 表单来达到此功能,我将参阅教学附在这里。
如果你想找的是圣诞节交换礼物的礼物配对工具则可以另外参阅这篇文章。(也可以拿它当做报告分组的分组配对工具,把礼物编号当成组别即可)
你是办抽奖活动的脸书网编、或是公司尾牙活动的筹办人,或者团队内部分配任务时想用抽签决定,正在找方便好用的在线抽签/抽奖工具吗?
其实,在这个网络抽奖盛行的年代,市面上并不乏各种免费的抽奖工具,也有许多网络大大教大家用 Excel 设计出抽奖表单,我自己就用过一些不错的工具,也试着用 Excel 管理过抽奖流程。但是,我用过的抽奖工具和 Excel 表单对我来说,都有一些不完全符合需求的地方。
比如说,我用的抽奖工具虽然可以自动抓粉丝团留言、在在线抽出得奖结果,但好像不能先去审核名单里的人有没有符合我的抽奖规则、进而编辑这份名单,我因此必须先把名单汇出成 Excel 檔,编辑名单后用 Excel 设计一个抽奖机制来抽奖。
我也用过市面上一些其他高手们用 VBA 做出来的 Excel 抽奖器,有复杂、有简单,虽然确实可以根据自己的需求弹性设计出要的结果,但我用起来有点没安全感,因为在我的经验里,简单的类型,触发抽奖这个动作的条件常常不是很好记(例如 F9 刷新);复杂的类型则不是非常好上手。
另一个对我来说真正致命的问题是,Excel 不是一个移动友善的应用,人在外面要开 Excel 文件来抽奖、想在手机操作抽奖程序,都不太容易,我希望有一个手机的 APP 接口让我点一下就可以抽奖。
在流浪过几个抽奖方案之后,有一天我发现我们自己家的工具—— Ragic 云数据库,本身就有支持抽奖常用的随机函数 RAND()。这代表着,其实我们是可以自己设计抽奖工具的!因此,我们就动手做了一个出来,用起来还满满意的,就顺便开放给大家用。以下,就是这个范本的使用方法和设计/修改方法。
如果你已经有 Ragic 的帐号,可以从你的数据库主页左侧“功能捷径”找到 Ragic 的应用商店,在“生活应用”类别里可以找到“抽签小帮手”。
如果还没有 Ragic 帐号,可以从 Ragic 主页往下滑,点到“范本”区块,一样从“生活应用”标签找到“抽签小帮手”。
点一下就可以直接安装了。
如果你找不到的话,直接点这里也可以。如果没有登记过 Ragic 帐号,系统会引导您登记一个免费帐号、创建数据库并将模块安装在此数据库中,这部分是完全免费的,未经您的同意,我们不会向您收取费用,请放心。
“抽签小帮手”模块包含两张表单:“抽签小帮手”和辅助用的表单——“抽签名单”。这两张表单有链接关系。最主要用来抽签的是“抽签小帮手”,如果你的名单不多、是要直接输入的,或是从外部整理成 Excel 或 CSV 文件要汇入的,那么可以只要使用“抽签小帮手”这张表单就好。
而如果你的抽奖名单是透过请参与者在网络上填表单登记创建的,你希望有一个现成的 Ragic 表单可以让参与者填写的话,就可以另外使用这张辅助表单“抽签名单”。以下一一说明步骤:
首先要到“抽签小帮手”表单,点“创建一笔数据”,你会看到以下画面:
系统会帮你生成一个“活动编号”不用自己填,你只要填写抽奖日期、活动名称,若有需要的话填写活动说明就可以先保存数据了。如果你一次办了好几场对象不同的抽签活动,也可以一次创建好几笔抽签活动数据。
(如果你是在办尾牙抽奖活动,希望依序要出抽头奖、二奖、三奖...,或是董事长奖、总经理奖、200 元礼卷奖,那么,请不要把“抽头奖”当一次活动,“抽二奖”当另一次活动建另一笔数据来抽哦!因为这样抽到头奖的人就还有机会抽到二奖,通常大家不希望这样。正确的做法是创建一笔数据就好,有需要时参阅后面提到的——新增中奖者、依序抽出得奖者教学,来修改设计。)
接着,你需要把要抽签的人建檔起来。这有三种方法:第一种是直接继续在“抽签小帮手”表单刚才那笔数据里新增、保存,第二种则是先保存好活动信息后,把你在其他地方整理的数据汇入“抽签小帮手”的“参与者信息”区块。第三种则是直接请参与者在辅助表单“抽签名单”填写数据。
假如人不多、你是要直接输入的话,例如公司部门五六个人抽签,那么你可以直接在“抽签名单”这张表单的“子表格”区块:“参与者信息”的地方,一笔一笔创建数据把每个人加进来。如果不知道子表格是什么,可以参阅这篇文档。
新增名单时,每笔子表格数据旁边对应的“抽签变量(签)”会直接被触发生成一个变量,进而生成出一个抽签结果,这个结果会一直波动到最后一笔数据录入为止(每输入一次新的数据,都会有新的变量生成)。你可以选择就以最后一笔数据录入时的结果为准,或者,你可以参照后面的第三步骤正式的单击单击钮运行抽签,比较有“抽签”的感觉。
如果抽签/抽奖名单很长,且原本就整理成 Excel 或 CSV 文件的话,你也可以直接将文件汇入到系统里。目前,Ragic 已经支持“直接将 Excel 文件汇入到子表格”的功能,因此你只要在选择汇入对应字段时,记得选择是要汇入到子表格“参与者名单”即可,详细的教学可以参阅这里。
以我们要做的事来说,文件的格式类似下图这样就可以了:
如果不确定格式该怎么整理的话,可以先在辅助表单——抽签名单表单创建一笔数据,在列表页将该笔数据汇出成 Excel,把汇出檔的格式当蓝本,再加上一个“活动编号”字段即可。
“活动编号”字段是让系统辨认名单属于哪次活动用的,假如你要汇入的名单是属于编号“4”的活动,那 Excel 檔里每一个参与者的“活动编号”字段就都填“4”。汇入时,你可以忽略某些不需要的字段,但一定要汇入“参加者姓名”和“活动编号”。
你可以直接提供你安装的“抽签名单”表单网址给人填写数据,提供网址的方法可见这个教学。我们在这张表单给予未登录的用户“问卷式用户”的权限,因此任何人都可以填写数据,但看不到别人填的数据;你则可以看到所有参与者数据。
你也可以利用 Ragic内嵌元件的功能将这张表单放在你的站点上让人直接从站点上填写。
前面的步骤(前置操作-新增活动/新增名单)都完成后,就可以在主表单“抽签小帮手”抽签了!前面有提到,由于这个抽签机制是透过“表单之间创建的连动关系 + Ragic 的随机函数公式”来做的(设计逻辑的说明请参见这里),一输入 / 汇入完数据,就会产出一个抽签结果了,可以看到“中奖名单”已经出炉:
不过,如果你比较偏好透过“抽签的动作”,让大家可以一起见证抽签过程的话,也可以透过已经设计好的单击钮来运行。你可以点一下表单右下角的闪电图符(下图 1. 旁的红圈),会看到其实有两个单击钮在那里:
有需要的话,先点一下“清空中签数据(准备重新抽签)”单击钮,就可以把现有的中签数据清除,准备正式抽签;正式抽签时,只要点一下“开始抽签”,中奖人就会出现在右边紫红色的区块了。
这里,范本模块默认的中签人是两个人。如果你希望修改中奖人的人数,或希望微调其他部分(例如为了公开抽奖时能保护参与者隐私,把参与者的部分姓名或联络方式打马赛克),可以参阅下一个段落“修改范本”或“参阅范本自行设计”的解说。
如果你登记了 Ragic 帐号、安装了“抽签小帮手”范本,那么你可以用 Ragic 的 app 来玩玩看移动抽奖。方法很简单:首先在你的智能型手机安装 Ragic app (iOS 或 Android)。
然后,确认你有创建了抽奖数据、抽奖名单后,打开 app、用你的 Ragic 帐号登录,进入要抽签的活动数据。你可以先点画面下方的 "Actions" 或右上方的闪电图符,点一下“清空中签数据”再来开始抽签,一样只要点下方的 "Actions" 或右上方的闪电图符,点一下“开始抽签”即可。示意画面如下:
“抽签小帮手”属于 Ragic 的免费范本模块,任何订户都可以免费使用,你也可以直接修改范本的设计让它更符合需求,或是仿造它的逻辑自行设计出你想要的应用。
而不论你是要自行设计抽签小帮手、或是修改表单,都需要了解背后的设计原理,因此以下就先简单说明这个范本的设计方式。
(注:如果你已经是 Ragic 订户,你数据库中已经有自行设计或修改过的 Ragic 表单的话,请注意:在 Ragic,如果你修改或自行创建的表单总数超过 3 张,就需要升级为付费的版本,付费版本的差异可以参阅这篇文章。)
在 Ragic ,“创建一张表单”的基本方法可以参阅这篇教学文章。我们首先依照一般表单的创建原则,创建“抽签小帮手”这张表单,包含活动编号、活动名称、活动说明、抽奖日期、中奖人等字段。创建字段时可以直接设置对应的字段型别,例如活动编号为自动生成字段、活动名称与说明是自由输入字段、抽奖日期为日期字段;字段位置和版面都可以依照你的需求去调整(调整版面的相关教学见此)。
而“参与者信息”区块的字段,包括参加者编号、姓名、联络信息、抽奖变量,都是 Ragic 的子表格字段。
如同前面所说,“抽签小帮手”是利用 Ragic 的随机函数公式来设置的,这跟一般利用 Excel 公式来设计抽签表格的逻辑其实很类似。最主要要套用公式的部分,是“抽奖变量(签)”和中奖名单区块的几个字段,分别说明如下。(注: Ragic 的公式和 Excel 很接近,但还是有些差别,如果你没有使用过 Ragic 的公式,请先参阅此份文档的说明)
“抽奖变量(签)”使用的公式为 RAND(),此公式不需要参照任何字段值,功能为“传回介于 0 到 1 之间的随机数值”。由于“抽奖变量(签)”字段首部的“公式”字段输入了此公式,只要有人新增了一行子表格数据(新增一位抽签者),或重新触发公式,系统都会像抽签一样,重新分配一组(介于 0 到 1 之间且不重复的)乱数给全部抽签者,此时只要指定一个规则,例如分配到的随机数值最大的人中签,或最小的人中签,就可以决定中签者了。
这里,我们设置的规则为“分配到随机数值第一大的人是第一位中签者、随机数值第二大的人是第二位中签者”,因此我们要在“第一位中奖者编号”、“第一位中奖者姓名”等字段套用公式来获取对应的值。
“第一位中奖者编号”字段套用的公式为 LARGE 公式,这个公式可以指定把子表格里某个字段最大值的那笔数据取出、获取该笔数据的某个指定字段值,用我们的例子来说就是可以找出获得最大“抽奖变量(签)”的那个人,然后把他的“参加者编号”显示在这个字段。
以这个例子来说,公式写法为 LARGE(D6,1,A6) (D6为“抽奖变量(签)”字段,1为序号[第一大的意思],A6为要传回的值:“参加者编号”)。
同理,“第二位中奖者编号”字段也套用 LARGE 公式,写法为 LARGE(D6,2,A6),2就是“第二大”的意思。
“第一位中奖者姓名”有两种写法,一种是一样使用 LARGE 公式: LARGE(D6,1,B6) (D6为“抽奖变量(签)”字段,1为序号[第一大的意思],B6为要返回的值:“参加者姓名”。另外一种则是使用 VLOOKUP 公式,要求找到子表格中“参加者编号 = 中签者编号”的那笔数据,然后回传那笔数据的“中签者姓名”,写法为 VLOOKUP(F2,A6,B6)。(F2 = 第一位中奖者编号,A6 = 参加者编号,B6 = 参加者姓名)。
同理,“第二位中奖者姓名”字段也可以套用 LARGE 公式: LARGE(D6,2,B6),或者 VLOOKUP 公式:VLOOKUP(F3,A6,B6)。
前面提到,除了透过新增参加者数据时触发公式的结果来当抽签结果之外,我们也另外设计了重新触发公式的单击钮,让“抽签”这个动作可以比较动态、有明确的指令一点。这里包括两个单击钮:
首先,重新抽签之前,要先把之前的中奖人数据清掉,不然会看不太清楚,因此要先设计一个“清空中签数据(准备重新抽签)”的动作单击钮,这个单击钮是透过 Ragic 更新这张表单字段值的功能设计的,只要把中奖信息字段值都设置为空值,点一下这个单击钮就可以清空数据了:
而“抽签”的单击钮,其实需要做的,就是针对抽签的这笔数据运行公式重算。为了达到“单击单击钮时该笔数据运行公式重算 = 抽签”的效果,我们设计了一个有点绕弯的变通方式,如下:
(一)设计一个字段(我命名为“功能”)并把这个字段隐藏起来
(二)然后设计一个“更新这张表单字段值”动作单击钮,设置此单击钮用来更新“功能”字段的值(更新为什么值都可以,该字段不影响整体运作),进阶设置勾选‘运行此动作时,重算这张表单上的所有公式’,来变通达到“公式重算”的实质效果的。
前面整个抽签功能都围绕着“抽签小帮手”这张表单,其实如同前面所说,直接使用这张表单就够用了。
不过,如果你希望提供大家一个自己填写名单(参加抽奖)的功能,还是需要有另一张表单比较便利,而这就是“抽签名单”表单,创建的方式为从子表格生成新表单,链接字段应该选择“活动编号”。
由于手机屏幕比计算机窄,计算机字段可以并排,手机字段不行,因此默认情况下,如果有设计并排的字段,Ragic 的 App 表单字段会自动由左至右、再由上至下的显示,这个自动抓取的顺序可以在设计模式中修改,方法可参阅这里。范本表单就略微调整了 APP 的字段顺序。
以上,解说完“抽签小帮手”主要的设计逻辑。了解逻辑后,如果你想要微调一些设计,以下是快速教学。
修改 Ragic 范本的基本教学可以参阅这里。
如果你希望新增更多中签者,可以继续新增和前面类似的字段,并套用与前面中奖名单类似的公式,例如“第三位中奖者编号”套用公式 LARGE(D6,3,A6),“第三位中奖者姓名”套用 LARGE(D6,3,B6);“第四位中奖者编号”套用公式 LARGE(D6,4,A6),“第四位中奖者姓名”套用 LARGE(D6,4,B6) 等等。(注:由于要以这种方式新增中奖者,奖项较多,例如中奖者一次有数十到数百个的模式,就比较不建议使用)
如果你希望抽签小帮手这张表单的“参加者姓名”名字可以被打马赛克,将这个字段的字段种类改成 掩码字段就可以了。系统管理员只要点旁边的眼睛图符,仍然可以看到信息。
你可以在你的抽签名单上加一个“打勾选项”字段,在不符资格的人前面打勾,之后再筛选出打勾的数据,删除筛选数据即可。或者,你可以直接用数据前面的“勾勾”或“星号”标注工具(不需要进入设计模式)。
如果你要用新增不同数据的方式,连续针对同一群对象抽奖,且希望每次抽奖时都排除上次得奖者的话,你也可以用拷贝出新纪录后,手动勾选删掉上个得奖者的方法来做。不过我们比较推入荐把针对同一群对象的抽奖放在同一笔数据里,方法请见下一点。
首先要说明的是,由于这个工具主要的抽签功能是用 RAND() 公式设计的,一次“抽签”(公式重算)的动作,其实并不像是在签筒里依序抽出一支签、两支签,而比较像是摇一次签筒,让所有的签正好分配在属于某个参加者的位置上(然后再依照参加者分配到的签数字大小,得出第一大的是一奖得主,第二大的是二奖得主)。
因此,这个用 RAND() 做出来的机制,没办法真的在一张表单上抽三次签,第一次抽出一奖、第二次抽出二奖、第三次抽出三奖,只能在视觉效果上,先把抽签的结果隐藏起来,然后利用其他公式/机制,让我们在点“一奖”的时候秀出一奖的结果,点“二奖”的时候再秀出二奖的结果。
我们可以用这个方法来做:新增一奖、二奖、三奖、四奖...的勾选字段,利用 UPDATEIF 公式,设计出“当‘一奖’字段打勾时,才显示出第一位得奖者名字”的机制。这样,先把签分配好之后,勾“一奖”时会退出一奖得奖者,勾“二奖”时会退出二奖得奖者,在视觉效果上看起来会像是一个一个抽出来的,且中奖者不会重复。
(注:如果用“在抽签小帮手上新增五次数据,抽五次签的方法”抽一奖、二奖、三奖、四奖、五奖的话,每笔数据都是独立互不影响的,除非手动把前面的中奖者挑掉,不然无法避免同一个人多次中奖)
我们用这个原理,设计了“抽签小帮手变化版(1)一次抽一个奖”这张公开的演示表单。
这张表单默认抽五个奖,表单设计如下图。
实际使用时,一样只要先在“参加者信息”区块新增名单,接着点“清空中签数据”单击钮,再点“开始抽签”单击钮。接着,结果不会直接秀出来(会出现在隐藏字段里),要抽一奖的时候,在“一奖”字段点一下打勾,一奖结果就会出现;要抽二奖的时候,在“二奖”字段点一下打勾,二奖结果就会出现,以此类推入。
可以玩玩看!这个表单上的 QR Code, 则是让你可以直接在 APP 上试着抽抽看:
不过不要把隐私数据放上去哦!因为其他人也会看到。
有订户询问:‘想用抽签小帮手“制作抽签,传送这个抽签给别人抽,然后汇集这些抽签结果”,请问有可能实现吗?’
由于抽签小帮手(范本)的逻辑是需要“先决定好名单”,接着由“计算机一次帮所有人分配随机数字”这个动作来一次运行抽签的,没办法在还没有名单的前提下运行抽签、且抽签的动作由负责人一次运行,无法让每个参与者自己去模拟“从签筒抽签”的动作, 因此这个订户询问的需求不太适合直接使用或修改抽签小帮手范本。
不过,这个需求其实是可以透过 Ragic 的其他功能,直接另外设计一组三张表单来满足的。这组表单包括:一组“签筒”(给人抽签的签筒、以及内部管理用的签筒版本)、以及一张用户“抽签表单”。以下就简述这个“签筒版本”的抽签工具设计方法。
可以先设计一张“签筒”表单,一笔数据 = 一个签,字段要包含套用 RAND() 公式的随机变量字段 、给人抽签用的编号或不可重复的代号“签筒编号”、以及显示该签号是否已经被抽的抽签状态(已抽?)字段。
做好这样的签筒,接下来只要另外创建一张给人填写的“抽签表”,设计“抽签表”与“签筒”之间的链接与加载关系:链接“签号”、加载该签号数据的随机变量字段值,那这个动作就像在模拟实体世界“抽签”的效果。
不过,如果要真的有效模拟抽签效果,要能做到两件事:(1) 让人在填写抽签表、点选“签号”时看不到“签号”对应的随机变量是大是小(否则就可以作弊了),(2) 已经被抽过的签,就要从签筒里消失,不能让人抽第二次。
直接用生成随机变量的那张“内部管理用签筒”不太容易直接达成上面的两个需求,因为:
(1) 只要抽签的人需要从签筒取签,就需要开放签筒的表单权限给抽签者,这样他有可能有机会看到随机变量;但如果完全把随机变量字段隐藏起来,内部管理又有点不方便。
(2) Ragic 的链接与加载功能并不直接支持“某个链接字段值只能选取一次”的功能,需要搭配其他的设计(例如多版本工作表搭配固定筛选)才能做到。
综合以上两点,我们可以不要把内部管理用的签筒当抽签来源,而是另外做一个多版本表单 - 抽签用的签筒版本来当抽签来源。之后只要把权限设置好,只让抽签者看到抽签用的签筒、内部管理用的签筒不给抽签者权限,就可以达到需求了。
在原本创建的“内部管理用签筒”,利用“多版本工作表”功能拷贝一张共享数据来源的表单,并将它命名为“抽签用签筒”,将“随机变量”字段的公式拿掉并隐藏字段(避免从不同来源生成随机变量)、将抽签者不应该动到的“已抽”状态字段设为只读。
为了确保“有人把某个签号抽走后,其他人就选不到这个签号”,这边可以设计一个固定筛选,让抽签用签筒只显示“已抽?”状态未打勾的字段。
这样之后,只要再设计一个机制让有人抽了某个签之后,自动将签筒的“已抽?”状态未打勾的字段,更新成打勾状态,那笔数据(那个签)就会因应固定筛选的机制,从抽签用签筒中消失(只显示在内部管理用签筒里),不会再被抽到了。
如同前面的设想,设计抽签者、签号、签号代表的数字等字段,链接“抽签用签筒”表单,链接字段为抽签号码、加载字段为随机数字,加载字段设计成只读字段以防被乱改。(这里加入图片字段,单纯只是增加抽签乐趣,可加可不加)
接着就要在这张表单上设计“有人抽了某个签之后,自动将签筒该签对应的已抽状态更新成打勾”的机制,我们可以利用更新别张表单字段值来达成这个需求:
先创建一个“更新用字段”默认值设为打勾,然后设置单击钮更新“抽签用签筒”表单,设置当两张表单的抽签编号相等时,将抽签表单上的“更新用字段”字段值更新到“抽签用签筒”表单的“已抽?”字段,并且在进阶设置勾选“保存时自动运行”、把单击钮隐藏起来。
假设抽签的人可能是没有 Ragic 帐号的人,你会需要针对 "EVERYONE" 群组设置权限。可以这样设置:
表单 | EVERYONE 权限 |
签筒(内部管理用) | 无权限 |
签筒(抽签用) | 仅阅览 |
抽签表单 | 问卷式用户 |
大致完成设计之后,可以利用 Ragic 分享这张表单的功能,把抽签表单的网址链接或 QR Code 分享出去(建议选择“填写表单用网址”让填写接口更方便)
这样设计出来的抽签表单可以这样运作:
大家抽完之后,只要在抽签表单列表页上排序随机数字(看你偏好是数字最大的中签、或最小的中签)即可。
你也可以自己依照教学试试看设计,有问题的话请洽 support@ragic.com 。