excel中多列数据最终组合成两列

如题所述

假定原数据在A:E列,请清I1输入公式:
=IF(ROW()<=48,INDEX(A:A,MOD(ROW()-1,12)+1),"")
将公式向下复制。
在J1输入公式:
=VLOOKUP(I1,A:E,CEILING(ROW()/12,1)+1,)&""
将公式向下复制。追问

我想问下你公式里面的参数是什么意思啊,我的数据量很大,这些参数是不是根据数据量还得改,而且用的公式目前得到的结果是A列与其他列的组合,还有B列等的组合并没有实现,虽然可以在用公式一B列在做一次,但是由于我的数据了可能是好几十列,这样分开套公式太麻烦了,这好几是列有几百种的组合可能

追答

这是根据你提供的资料来写的公式。
12代表数据总行数,可以用COUNTA(A:A)来得到。
48是总行数*(总列数-1),即12*(5-1)=48
如果有几十列,用函数公式太麻烦。只能用VBA代码解决。

追问

您能提供一下VBA的代码吗

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-11-28
这个复制粘贴不就行了吗???,还要函数呀,把简单的事情弄复杂。追问

呵呵呵呵呵,你试试几十列数据,排列组合,最后变成2列~~

相似回答