[英]Circular list rotate bottom to top - Excel Formula
我有一個人的名單,可以是不同的人數。 我想每年輪換一次。 但是它們不能旋轉到同一位置。 例如,
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
對於不重復,可以使用公式(在C2中,請參見下圖):
=MOD(C1-1,$A$3-1)+1
該數字(例如, Offset1
)將為您提供必須輪換(循環)列表的“真實”次數。 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)
並向下復制到右側。
沒有數組公式,也沒有查找公式。 根據工作表的大小,這可能比查找要快。
這可以幫助您入門:
假設您的姓名列表在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中。
當C1 = 0時,公式將復制三個名稱。 當C1 = 1時,名稱旋轉1。當C1 = 2時,名稱再次旋轉。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.