在 Excel 中随机分配桌客人

在 Excel 中随机分配桌客人

我有一份人员名单:

A 列:

person A,             
person A guest,       
person B,            
person C,            
person C guest,     
...

B 列:

1,
1,
2,
3,
3,
...

因此,A 列是此人的姓名,B 列为每个人提供一个唯一的 ID(其客人的 ID 相同,因此我们知道他们是在一起的)。

现在假设我们有 100 人的名单(还请注意,并非每个人都有客人),我们必须为他们安排座位。我们有一张桌子的列表(例如 10 * 4 人桌和 10*6 人桌)。我们必须随机分配每个人到一张桌子,客人也坐在同一张桌子上。

最好的方法是什么?(还需要我可以连续 4 次生成此结果而不会产生相同的结果,因此当在餐厅的 4 道菜期间,人们换桌子但不会失去他们的客人)。

答案1

首先,执行 countif 并确定每个人所需的座位总数。其次,按人数从高到低对人数进行排序。第三,由于您没有提供桌子限制列表,因此将最大的组分配到最大的桌子,然后尝试用匹配的人数总数填充剩余的座位,然后继续下一个桌子。

例如:6 人桌为 4 人组加 2 人组或者2 组,每组 3 人

由于团体之间可能会互相交谈。请尽量避免将单人房安排在人数超过 2 人的团体中。

如果您可以提供座位限制列表(每张桌子的桌子数和座位数),则此建议可能会有所改进。

相关内容