需要帮助的人试图学习宏编码。
表1有两列A和B。表2,列A有一个值范围。如果Sheet 1 Column A单元格不为空,我想用Sheet 2 Column A上的值填充Sheet 1 Column 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代码来完成此操作。
发布于 2019-05-24 00:20:34
一种方法是使用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
)。这将产生一个介于0
和3
(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个名称:
=INDEX(F$1:F$12,MOD(ROW()+11,12)+1)
https://stackoverflow.com/questions/56279266
复制相似问题