簡體   English   中英

循環列表從下到上旋轉-Excel公式

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM