簡體   English   中英

Excel宏或函數:如果單元格不為空,則使用循環值(來自另一張紙)填充單元格區域(A列)

[英]Excel Macro or Function: Populate a cell range (Column A) with a looped values (from another sheet) if cell is not blank

需要幫助嘗試學習宏編碼的人。

工作表1有兩個A和B欄。工作表2的A列有一個值范圍。 如果工作表1列A單元格不為空,我想用工作表2列A上的值填充工作表1列B。

下圖。

Sheet2 Col A
Brian, 
David,
Nicole,
Aspen,

Col A                  
Apple         
Banana        
Orange        
Lemon         
Mango         
Strawberry    
Grape      

上校B的名稱應該是循環的,Brian是Apple的名字,然后是David的Banana名字,依此類推,然后回到David,依此類推,直到Grape的名字是Nicole。

請幫助提供函數或宏vba代碼以完成此操作。

一種方法是使用INDIRECT

=INDIRECT("Sheet2!A" & MOD(ROW()+3,4)+1)

假設名稱在A1:A4

編輯:我只是想了一種使用INDEX的方法:

=INDEX(Sheet2!A$1:A$4,MOD(ROW()+3,4)+1)

MOD將返回行號的其余部分除以n (在這種情況下為4 )。 這將導致數字介於03n-1 )之間(含03 )。 對於行序列1-61, 2, 3, 0, 1, 2

通過將3n-1 )添加到行號,我可以獲得1-6行的序列變為0, 1, 2, 3, 0, 1

然后在mod上加1即可形成序列: 1, 2, 3, 4, 1, 2然后我可以將其用作名稱表的索引

對於12個名稱,您將要使用:

=INDEX(F$1:F$12,MOD(ROW()+11,12)+1)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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