首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Excel宏或函数:如果单元格不为空,则使用循环的值(来自另一个工作表)填充单元格区域(A列)

Excel宏或函数:如果单元格不为空,则使用循环的值(来自另一个工作表)填充单元格区域(A列)
EN

Stack Overflow用户
提问于 2019-05-24 00:13:13
回答 1查看 99关注 0票数 0

需要帮助的人试图学习宏编码。

表1有两列A和B。表2,列A有一个值范围。如果Sheet 1 Column A单元格不为空,我想用Sheet 2 Column A上的值填充Sheet 1 Column B。

下图所示。

代码语言:javascript
复制
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代码来完成此操作。

EN

回答 1

Stack Overflow用户

发布于 2019-05-24 00:20:34

一种方法是使用INDIRECT

代码语言:javascript
复制
=INDIRECT("Sheet2!A" & MOD(ROW()+3,4)+1)

这里假设名称是A1:A4格式的

编辑:我刚刚想到了一种使用INDEX的方法:

代码语言:javascript
复制
=INDEX(Sheet2!A$1:A$4,MOD(ROW()+3,4)+1)

MOD将返回行号除以n的余数(在本例中为4)。这将产生一个介于03 (n-1)之间的数字。行1-6的序列是1, 2, 3, 0, 1, 2

通过将3 (n-1)添加到行号,我可以获得行1-6变为0, 1, 2, 3, 0, 1的序列

然后,将1添加到mod中,生成序列:1, 2, 3, 4, 1, 2,然后我可以将其用作名称表的索引

对于您想要使用的12个名称:

代码语言:javascript
复制
=INDEX(F$1:F$12,MOD(ROW()+11,12)+1)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56279266

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档