我有一份人员名单,可能是不同的人数。我想每年轮换它们。但它们不能旋转到相同的位置。如,
Paul Lysander
George Paul
Lysander George
明年:
Paul George
George Lysander
Lysander Paul
但从不:
Paul Paul
George George
Lysander Lysander
出于某种原因,我甚至无法想到从哪里开始。它必须是一个公式,并且可以灵活地添加或带走人。
更新
好的,这是“简单”的部分。现在我只需要找出困难的部分 - 不要重复:
Base Year: 1968
#OfPeople: =COUNTA(B:B)-1
Offset: =YEAR(NOW())-BaseYear
New Row =MOD(row()+Offset, #OfPeople)+2
答案 0 :(得分:1)
对于不重复,您可以使用公式(在C2中,见下图):
=MOD(C1-1,$A$3-1)+1
这个号码(比如Offset1
)会给你" true"您必须轮换(循环)列表的次数。 C1包含循环的顺序(您的Offset
或"虚拟"旋转次数),A3包含项目数(可能是#OfPeople+1
)。 Offset1
会替换Offset
。随着Offset
增加(= 1,2,3,4,5,...),Offset1
循环为1,2,3,1,2,......(如果项目数量)在你的清单中是4)。所以,你实际上是跳过0(这给你原来的清单)。
如果我不完全理解您的描述,但是遵循发布的本质,您可能需要稍微改变。
然后计算旋转值,输入C3
=OFFSET($B$3,MOD(ROW($B3)-ROW($B$3)-C$2,$A$3),0)
并向下复制到右边。
没有数组公式,也没有查找公式。根据工作表的大小,这可能比查找更快。
答案 1 :(得分:0)
这可以让你开始:
假设你的名字列表在B1:B3中,你在A1:A3中有数字1,2,3。
现在定义一个单元格,比如C1,用自第一年起经过的年数。这将是0 =第一年,1 =第二,2 =第三,等等。
最后,在单元格D1中输入公式= VLOOKUP(MOD(A1- $ C $ 1-1; 3)+1; $ A $ 1:$ B $ 3; 2)并将公式复制到单元格D2和D3。 / p>
当C1 = 0时,公式会复制三个名称。当C1 = 1时,名称旋转1.当C1 = 2时,名称再次旋转一次。