Microsoft Excel - 生成随机时间间隔

Microsoft Excel - 生成随机时间间隔

我有一份大约 30 名员工的名单。我需要创建一个简单的表格,为他们分配一个特定的通话时间,24 小时后,excel 将自动(随机)更改他们通话的时间示例

        mon   tue  wed  thu  fri
John   8-9
Sam    9-10
Debbie 10-11
Susan  11-12
Josh   12-1
sean   1-2

通话时间为上午 8 点至下午 6 点之间每隔 1 小时一次:

8-9, 9-10, 10-11, 11-12, 12-1, 1-2, 2-3, 3-4, 4-5, 5-6

什么公式可以采用这些时间并在一周内每 24 小时自动随机更改它们?

答案1

我假设您不希望同一天的工作时间重叠(一名员工总是在打电话),因此从 Raystafarian 的建议开始,我会单独列出分配有编号的轮班列表。

Order  Schedule
=RAND()  9-10
=RAND()  10-11
=RAND()  11-12
=RAND()  12-1
=RAND()  1-2
=RAND()  1-3
=RAND()  
=RAND()  
=RAND()  // Since you have more employees than schedules, 
=RAND()  // copy formula to as many blank results as you have employees (30).

然后,做一个手动的按顺序列排序,最终会得到 30随机结果

Order    Schedule
 0.3      <blank>
 0.4     1-3
 0.5      <blank>
 ..      <blank>
 ..      9-10

现在用您的员工列表创建一个新表,并使用一个简单的公式来引用随机计划结果,像这样,因此无论何时再次对值进行排序,它们都会(随机)对齐在每个员工前面。

Employee  Today's schedule
 John    =B2
 Jane    =B3
 ..      =B4
 ..      =B5
 ..      =B6

结果是这样的:

Employee  Today's schedule
 John    <blank>
 Jane    12-1
 ..      <blank>
 ..      3-4
 ..      9-10

此时,重要的是你手动将这些值(选择性粘贴...作为值)复制到固定的每日计划表中,就像您的问题中一样,否则任何新的排序都会永久替换您的结果。还要确保两个员工列表始终以相同的顺序匹配。

注意我强调了这个词手动的两次。如果您想要自动执行这些任务,您将需要一个 VBA 宏来执行此操作,因为没有公式可以自动排序或自动将公式复制到其他地方的固定值中。

答案2

为什么不直接生成一个随机的开始时间?员工会知道这是 1 小时。 =randbetween(8,17)将生成一个上午 8 点到下午 5 点之间的开始时间(24 小时制)

相关内容