Excel中三列数据自由组合
2个回答
展开全部
可以用VBA处理吗?
Sub 按钮1_Click()
l = 1
For i = 1 To 7
For j = 1 To 11
For k = 1 To 20
Cells(l, 4) = Cells(i, 1) & " " & Cells(j, 2) & " " & Cells(k, 3)
l = l + 1
Next
Next
Next
End Sub
追问
能用公式解决吗?
追答
在D1输入公式:
=OFFSET(A$1,INT((ROW()-1)/220),0) & " " & OFFSET(B$1,INT((ROW()-1)/20),0) & " " & OFFSET(C$1,MOD(ROW()-1,20),0)
下拉填充至D1540。
展开全部
=INDIRECT("a"&INT(ROW()/220)+IF(MOD(ROW(),220)=0,0,1))&INDIRECT("b"&INT(IF(MOD(ROW(),220)=0,220,MOD(ROW(),220))/20)+IF(MOD(ROW(),20)=0,0,1))&INDIRECT("c"&IF(MOD(ROW(),20)=0,20,MOD(ROW(),20)))
复制到D1然后往下拖,感觉太长了,如果数量多,会影响速度,这种情况应该是vba最好
复制到D1然后往下拖,感觉太长了,如果数量多,会影响速度,这种情况应该是vba最好
追问
感谢回答。 只是单词之间没有空格,另外需要保持 ABC列中的词以ABC顺序组合,也就是1450个组合,可以用公式吗?
追答
=INDIRECT("a"&INT(ROW()/220)+IF(MOD(ROW(),220)=0,0,1)) & " " & INDIRECT("b"&INT(IF(MOD(ROW(),220)=0,220,MOD(ROW(),220))/20)+IF(MOD(ROW(),20)=0,0,1)) & " " & INDIRECT("c"&IF(MOD(ROW(),20)=0,20,MOD(ROW(),20)))
已加入空格,这公式就是按你要的顺序ABC排列的,如果还不是,建议发个样表来看看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询