在 2 年内每周随机生成 2 个日期

Randomly generate 2 dates per week over 2 years

如何编写 excel 公式,在 2 年的时间段内每周随机选择 2 个日期,其中:

  1. 每周2个日期不一样

所以这不应该发生:

05/02/2015
05/02/2015
  1. 任何给定周的第一个日期总是在同一周的第二个日期之前:

所以这不应该发生:

06/02/2015
05/02/2015
  1. 周日是一周的开始,周六是一周的结束:

这是我所追求的示例:

week    day     date
1       1       01/01/2015
1       2       03/01/2015
2       1       05/01/2015
2       2       08/01/2015

以此类推,一直到2016.

结束

这是我目前所知道的,但这只是随机给我一周中的某一天,并且不满足我上面描述的任何条件:

=CHOOSE(WEEKDAY(ROUND((RAND()*(7-1)+1),0)),"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday")

每周 2 天有 21 种不同的组合 - 为确保均匀分布,您可以使用辅助列,因此假设您的周从 A2 开始,天数从 B2(总是在每周的天数列中显示 1 然后 2)然后在 D2

中使用此公式

=IF(B2=1,RANDBETWEEN(1,21),"")

C2

中的这个公式

=IF(B2=1,E+MATCH(D2,{1,7,12,16,19,21})-8+A2*7,C1+D1-LOOKUP(D1,{1,7,12,16,19,21})+1)

其中 E1 包含第 1 周的开始日期(星期日)

将两个公式都填入列下方

如果需要,您可以隐藏 D 列

参见示例 here