Ragic 博客
企业电子化的专家 Ragic 教你如何利用各种软件、
云服务让公司快速升级!
加入 Ragic 企业电子化的行列!
云工作术
各类应用演示
案例故事
逃离恶梦
关于 Ragic
Facebook X YouTube
云数据库
博客
关于Ragic
云工作术
各类应用演示
案例故事
逃离恶梦
关于 Ragic

交换礼物小帮手:快速配对、避免有人抽到自己礼物的小工具

作者:Lillian Huang

每到年底,除了节日大餐、圣诞树,“圣诞交换礼物”也是很多人的共同回忆。你参加过的交换礼物活动,都是怎么进行的呢?

记忆中,最简单的应该是大家交出礼物、帮礼物编号(假设十个人好了,十个礼物 ① 到 ⑩ 号)、制作十个写着号码的小纸条当签,然后大家抽签获取自己的礼物,差不多是这样吧?

如果有人抽到自己送出的礼物怎么办呢?这时候可能要看游戏规则或大家的临场反应了,重抽、换礼物...... 对亲密好友而言或许怎样都是乐趣,但对不是那么熟的职场同事可能就有点烦了,主办人可能也会想避免这种情形。

最近看到一篇泛科学站点的文章 交换礼物抽法其实不公平?数学家教你绝不失败的玩法,里面详细介绍了数学家的解决之道——毕竟,交换礼物 / 抽签这种东西,离不开数学的排列组合啊!

文章里介绍了一种利用错位排序(derangement)的方式来抽交换礼物的方法,可以直接看文章中的教学。这是个一次就能抽成功的方法,实际抽的时候应该满有效率的,但准备纸条、写两行内容、打乱纸条、剪开纸条、横移下方纸条... 的前置准备还是有点繁琐,有一点让人担心现场出乱子啊!

有没有可能用同样的原理,制作一个计算机版 / 手机版的交换礼物法呢?虽然少了一点做纸签、看纸签的乐趣,但主办人少了一些控场的压力。看计算机怎么把礼物分配出来,把焦点放在大家都送了 / 拿了什么怪礼物,也不见得不好玩。

交换礼物小帮手:用表单 / APP 玩“不失败礼物交换”

之前我们曾用 Ragic 设计过一个抽签/抽奖小工具——“抽签小帮手”,主要是用于活动一次性的抽奖、一次性的尾牙抽奖等。我们发现,只要以“抽签小帮手”的表单设计为衬底,稍微修改一下,就可以做出上述“错位排序”的交换礼物应用了。

这个修改过的版本我叫它“交换礼物小帮手”,我设计了一个“十个人交换礼物”的版本,把它放在公开的网页上,大家可以在上面新增数据试玩看看:

点此进入交换礼物小帮手

玩的方法是:先在上面新增一笔数据,填上日期、活动信息,以及参加者名字,在这个范本参加者必须是十人。填完之后,点一下“清空中签数据”,再点一次“开始抽签”,表单右方就会呈现出十组配对好的送礼人和收礼人,没有重复。

也可以在手机上直接操作,没有 Ragic 帐号的人可以安装 Ragic App 之后,以访客 guest 身份,扫表单上秀出来的 QR Code 进入数据库:

在手机上一样是新增数据和交换礼物成员后,点一次清空中签数据单击钮、点一次开始抽签,结果就会出来了。

“交换礼物小帮手”是怎么设计的?可以怎么修改?

一步步把前面讲到的“错位排序”打印件抽签方法拆开来看的话,流程(以及转化成 Ragic 表单逻辑的内容)大概如下:

① 每一位参与者分配一个所属的编号(代表自己和自己送的礼物),这点在 Ragic 可以透过子表格数据设置序号达到,不过为了简化结果,我们后面都是直接用收送礼者的名字来排序。

② 将写好编号的纸条信息遮起来、顺序打乱:这步骤主要是要让编号(参与者)可以依据某种随机乱数来排序,因此在 Ragic 表单上我们改成先给予每个参与者一个随机变量(RAND() 函数)并依照每个参与者拿到的乱数来排序他们,得出“交换礼物结果”区块“送礼人”的随机排序。

③ 将排好的纸条一一剪开,纸条下半部移动到后面,跟后面纸条的上半部搭配起来:这步骤主要是让这个随机组成的排序来决定礼物的配对,同时这种错平移动方法可以保证不会有人配到自己的礼物。在 Ragic 表单上可以利用公式来确认这个配对,也就是用公式指定第 2 组收礼人 =第 1 组送礼人,第 3 组收礼人 = 第 2 组送礼人....一直到 第 1 组收礼人 = 第 10 组送礼人的组合。

各字段的公式如下:

“开始抽签”与“清空中签数据”单击钮的逻辑和抽签小帮手的动作单击钮设计逻辑相同,可参阅这里的说明。

如果要自己设计 X 个人的交换礼物版本?

从前面的说明可以看出,交换礼物的人数会影响到表单的设计,在设计时就要知道有多少人要交换礼物,才能设计出正确的送礼/收礼组合数,因此这个小工具比较不适合直接用我们做的范本,比较适合自己设计调整之后使用。

怎么调整呢?如果你的交换礼物人数少于 10 人,例如是 8 个人的话,除了把“交换礼物结果”区块减少两行,变成只有 8 组之外,由于第一位收礼人要对应到的是最后一位送礼人,因此还要记得修改“1收礼人”的公式,改成“I9”。而如果交换礼物人数多于 10 人,例如是 15 个人的话,就要多新增五行数据,“1收礼人”的公式则应该改成“I16”。

今天的文章就分享到这里,如果你看了还有疑问或建议,欢迎来信 support@ragic.com 跟我们说 :D

博客背后使用 Ragic! : 最强大的 No Code 企业电子化工具
    把数据放在Excel上不只是拖累团队的行政效率,他也很容易出错并且无法进行任何内控。
    当您的团队成长时,使用Excel管理数据就会越来越痛苦。
    创建你们的第一个云数据库!

    马上登记
    免费试用 Ragic!

    用 Google 帐号登记

    立即科技 Ragic, Inc.
    02-7728-8692
    info@ragic.com
    台北市中正区南昌路二段81号9楼